]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
MSI: Use correct data offset for 32-bit MSI in read_msi_msg()
authorRoland Dreier <roland@digitalvampire.org>
Fri, 12 Oct 2007 22:16:16 +0000 (15:16 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 16 Nov 2007 17:30:22 +0000 (09:30 -0800)
patch cbf5d9e6b9bcf03291cbb51db144b3e2773a8a2d in mainline.

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.

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/msi.c

index be1df85e5e2d5ae08b5a3f562cb462589495f409..87e01615053dc1fb228b05473e1bdac2d32b8e6c 100644 (file)
@@ -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;