]> git.baikalelectronics.ru Git - kernel.git/commit
enic: do hang reset only in case of tx timeout
authorGovindarajulu Varadarajan <_govind@gmx.com>
Thu, 1 Oct 2015 08:48:47 +0000 (14:18 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Oct 2015 10:51:35 +0000 (03:51 -0700)
commit1980d1b3b24b660a520e59bd0e70bba53824e0d4
tree8360a5079b034204940f3adc686f8a7b543ef34b
parent743eb63f289188e7879302d45c6dc1caef5bfa1d
enic: do hang reset only in case of tx timeout

The current code invokes hang reset in case of error interrupt. We should
hang reset only in case of tx timeout. This because of the way hang reset
is implemented in firmware. Hang reset takes more firmware resources than
soft reset. Adaptor does not generate error interrupt in case of tx
timeout.

Hang reset only in case of tx timeout, in .ndo_tx_timeout. Do soft reset
otherwise. Introduce deferred work, enic_tx_hang_reset, to do hang reset.

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cisco/enic/enic.h
drivers/net/ethernet/cisco/enic/enic_main.c
drivers/net/ethernet/cisco/enic/vnic_dev.c
drivers/net/ethernet/cisco/enic/vnic_dev.h