Re: MSI: Use correct data offset for 32-bit MSI in read_msi_msg()

From: Eric W. Biederman
Date: Wed Oct 03 2007 - 14:26:20 EST


Roland Dreier <roland@xxxxxxxxxxxxxxxxxx> writes:

> While reading the MSI code trying to find a reason why MSI wouldn't
> work for devices that have a 32-bit MSI address capability, I noticed
> that read_msi_msg() seems to read the message data from the wrong
> offset in this case.

Doh! Sorry about that.

Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxxxxx>
> ---
> Unfortunately MSI still doesn't seem to work with Intel 945GM
> integrated graphics on my laptop, even with this fix....
>
> drivers/pci/msi.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index be1df85..87e0161 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -132,7 +132,7 @@ void read_msi_msg(unsigned int irq, struct msi_msg *msg)
> pci_read_config_word(dev, msi_data_reg(pos, 1), &data);
> } else {
> msg->address_hi = 0;
> - pci_read_config_word(dev, msi_data_reg(pos, 1), &data);
> + pci_read_config_word(dev, msi_data_reg(pos, 0), &data);
> }
> msg->data = data;
> break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/