Commit b6e4405b authored by Ayaz Abdulla's avatar Ayaz Abdulla Committed by David S. Miller

forcedeth: msi interrupt fix

This patch fixes an issue with the suspend/resume cycle with msi
interrupts. See bugzilla number 10487 for more details. The fix is to
re-setup a private msi pci config offset field.
Signed-off-by: default avatarAyaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cac1c52c
...@@ -589,6 +589,9 @@ union ring_type { ...@@ -589,6 +589,9 @@ union ring_type {
#define NV_MSI_X_VECTOR_TX 0x1 #define NV_MSI_X_VECTOR_TX 0x1
#define NV_MSI_X_VECTOR_OTHER 0x2 #define NV_MSI_X_VECTOR_OTHER 0x2
#define NV_MSI_PRIV_OFFSET 0x68
#define NV_MSI_PRIV_VALUE 0xffffffff
#define NV_RESTART_TX 0x1 #define NV_RESTART_TX 0x1
#define NV_RESTART_RX 0x2 #define NV_RESTART_RX 0x2
...@@ -6074,6 +6077,8 @@ static int nv_resume(struct pci_dev *pdev) ...@@ -6074,6 +6077,8 @@ static int nv_resume(struct pci_dev *pdev)
for (i = 0;i <= np->register_size/sizeof(u32); i++) for (i = 0;i <= np->register_size/sizeof(u32); i++)
writel(np->saved_config_space[i], base+i*sizeof(u32)); writel(np->saved_config_space[i], base+i*sizeof(u32));
pci_write_config_dword(pdev, NV_MSI_PRIV_OFFSET, NV_MSI_PRIV_VALUE);
netif_device_attach(dev); netif_device_attach(dev);
if (netif_running(dev)) { if (netif_running(dev)) {
rc = nv_open(dev); rc = nv_open(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment