diff options
author | Amit Kumar Salecha <amit@qlogic.com> | 2009-09-11 07:28:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-11 19:58:48 -0400 |
commit | 74c520da5414d15b0ab2839d67efab2e7227be75 (patch) | |
tree | d079968ab0f36d4cf7521763ef64d165976537e7 /drivers/net/netxen/netxen_nic_init.c | |
parent | ec5c50cb93c446a4686863df74e4b7a547628115 (diff) |
netxen: fix tx timeout recovery
Redesign tx timeout handling in line with new firmware
reset design that co-ordinates with other PCI function
drivers.
o For NX3031, first try to reset PCI function's own
context before requesting firmware reset.
o For NX2031, since firmware heartbit is not supported
directly request firmware reset.
Signed-off-by: Amit Kumar Salecha <amit@netxen.com>
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_init.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_init.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c index 8926b0e0c8bc..128d1b65402d 100644 --- a/drivers/net/netxen/netxen_nic_init.c +++ b/drivers/net/netxen/netxen_nic_init.c | |||
@@ -1434,8 +1434,10 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter) | |||
1434 | 1434 | ||
1435 | if (netif_queue_stopped(netdev) && netif_carrier_ok(netdev)) { | 1435 | if (netif_queue_stopped(netdev) && netif_carrier_ok(netdev)) { |
1436 | __netif_tx_lock(tx_ring->txq, smp_processor_id()); | 1436 | __netif_tx_lock(tx_ring->txq, smp_processor_id()); |
1437 | if (netxen_tx_avail(tx_ring) > TX_STOP_THRESH) | 1437 | if (netxen_tx_avail(tx_ring) > TX_STOP_THRESH) { |
1438 | netif_wake_queue(netdev); | 1438 | netif_wake_queue(netdev); |
1439 | adapter->tx_timeo_cnt = 0; | ||
1440 | } | ||
1439 | __netif_tx_unlock(tx_ring->txq); | 1441 | __netif_tx_unlock(tx_ring->txq); |
1440 | } | 1442 | } |
1441 | } | 1443 | } |