diff options
author | Amit Kumar Salecha <amit.salecha@qlogic.com> | 2009-12-08 20:40:55 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-23 14:13:26 -0800 |
commit | 6a808c6c02fb9f0ffa24ac7cca6cfc323cf98b21 (patch) | |
tree | 8a9a6b881912a55568cc3b6839ee9a42449d0a23 /drivers/net/netxen/netxen_nic_main.c | |
parent | bc86fcbac0a86a93ee65cc31769c4e83e6ff2295 (diff) |
netxen: fix tx timeout recovery
o In case of tx timeout, firmare may be healthy, but some pci-func may
see no response from it. Force firmware reset, if some pci-func
explicitly requests so.
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_main.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 41cb0af4b55..1aca6260909 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c @@ -2284,8 +2284,10 @@ netxen_check_health(struct netxen_adapter *adapter) } state = NXRD32(adapter, NX_CRB_DEV_STATE); - if (state == NX_DEV_NEED_RESET) + if (state == NX_DEV_NEED_RESET) { + adapter->need_fw_reset = 1; goto detach; + } if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) return 0; |