]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: wenxiong@us.ibm.com |
2 | Subject: network command hung the system after manully errinjct 6 times EEH | |
3 | errors. | |
4 | References: bnc#497648 | |
5 | ||
6 | Acked-by: John Jolly <jjolly@suse.de> | |
7 | diff -Nuarp cxgb3.sles11_ga/drivers/net/cxgb3/cxgb3_main.c cxgb3.patch.51726/drivers/net/cxgb3/cxgb3_main.c | |
8 | --- cxgb3.sles11_ga/drivers/net/cxgb3/cxgb3_main.c 2009-05-05 14:21:10.000000000 -0500 | |
9 | +++ cxgb3.patch.51726/drivers/net/cxgb3/cxgb3_main.c 2009-05-05 15:37:03.000000000 -0500 | |
10 | @@ -1222,6 +1222,9 @@ static int cxgb_close(struct net_device | |
11 | struct port_info *pi = netdev_priv(dev); | |
12 | struct adapter *adapter = pi->adapter; | |
13 | ||
14 | + if (!adapter->open_device_map) | |
15 | + return 0; | |
16 | + | |
17 | t3_port_intr_disable(adapter, pi->port_id); | |
18 | netif_stop_queue(dev); | |
19 | pi->phy.ops->power_down(&pi->phy, 1); | |
20 | @@ -2738,6 +2741,9 @@ static pci_ers_result_t t3_io_error_dete | |
21 | struct adapter *adapter = pci_get_drvdata(pdev); | |
22 | int ret; | |
23 | ||
24 | + if (state == pci_channel_io_perm_failure) | |
25 | + return PCI_ERS_RESULT_DISCONNECT; | |
26 | + | |
27 | ret = t3_adapter_error(adapter, 0); | |
28 | ||
29 | /* Request a slot reset. */ |