aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Dreier <roland@digitalvampire.org>2007-10-12 15:16:16 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2007-11-16 09:30:22 -0800
commitb4fe19f099c5541621f449034f10b6a9e3f7bbdb (patch)
tree8ff59a92d291946462b047a55814f2578412047d
parent1094650c9b3d035380ae3f5add3debea89007113 (diff)
MSI: Use correct data offset for 32-bit MSI in read_msi_msg()
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>
-rw-r--r--drivers/pci/msi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index be1df85e5e2..87e01615053 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;