浏览代码

s2io: fixing a ethtool test that is broken

Due commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff, it is not more
possible to pci_restore_state() more than once without calling
pci_save_state() in the middle.

Actually running a ethtool test on s2io makes the card inactive,
and it needs to unload/reload the module to fix.

This patch just save the state just after it restore in order to
keep the old behaviour

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Breno Leitao 15 年之前
父节点
当前提交
b8a623bf83
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/net/s2io.c

+ 1 - 0
drivers/net/s2io.c

@@ -3494,6 +3494,7 @@ static void s2io_reset(struct s2io_nic *sp)
 
 
 		/* Restore the PCI state saved during initialization. */
 		/* Restore the PCI state saved during initialization. */
 		pci_restore_state(sp->pdev);
 		pci_restore_state(sp->pdev);
+		pci_save_state(sp->pdev);
 		pci_read_config_word(sp->pdev, 0x2, &val16);
 		pci_read_config_word(sp->pdev, 0x2, &val16);
 		if (check_pci_device_id(val16) != (u16)PCI_ANY_ID)
 		if (check_pci_device_id(val16) != (u16)PCI_ANY_ID)
 			break;
 			break;