diff options
author | Roland Dreier <roland@digitalvampire.org> | 2007-10-03 14:15:11 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 18:03:17 -0400 |
commit | cbf5d9e6b9bcf03291cbb51db144b3e2773a8a2d (patch) | |
tree | 494d61012a0d5f23f2af9be72a2e17a1c7f344fc /drivers/pci | |
parent | a56bc69a182f501582557af7fad5bc882b1c856c (diff) |
MSI: Use correct data offset for 32-bit MSI in read_msi_msg()
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>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | 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 be1df85e5e2d..87e01615053d 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) | |||
132 | pci_read_config_word(dev, msi_data_reg(pos, 1), &data); | 132 | pci_read_config_word(dev, msi_data_reg(pos, 1), &data); |
133 | } else { | 133 | } else { |
134 | msg->address_hi = 0; | 134 | msg->address_hi = 0; |
135 | pci_read_config_word(dev, msi_data_reg(pos, 1), &data); | 135 | pci_read_config_word(dev, msi_data_reg(pos, 0), &data); |
136 | } | 136 | } |
137 | msg->data = data; | 137 | msg->data = data; |
138 | break; | 138 | break; |