提交 cbf5d9e6 编写于 作者: R Roland Dreier 提交者: Greg Kroah-Hartman

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: NRoland Dreier <roland@digitalvampire.org>
Acked-by: NEric W. Biederman <ebiederm@xmission.com>
Cc: stable <stable@kernel.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 a56bc69a
...@@ -132,7 +132,7 @@ void read_msi_msg(unsigned int irq, struct msi_msg *msg) ...@@ -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); pci_read_config_word(dev, msi_data_reg(pos, 1), &data);
} else { } else {
msg->address_hi = 0; 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; msg->data = data;
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册