summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex/benet/be.h
diff options
context:
space:
mode:
authorSuresh Reddy <suresh.reddy@broadcom.com>2018-07-31 11:39:42 -0400
committerDavid S. Miller <davem@davemloft.net>2018-08-01 09:39:09 -0700
commitc1b3bdb2ffa9a343ded117e01d6b4b43b9df53f8 (patch)
tree504b794a8191bacb67460733973759745d224f1b /drivers/net/ethernet/emulex/benet/be.h
parent96d395020e87607b3454edc2f49a03ddcfbef986 (diff)
downloadlinux-c1b3bdb2ffa9a343ded117e01d6b4b43b9df53f8.tar.bz2
be2net: gather debug info and reset adapter (only for Lancer) on a tx-timeout
This patch handles a TX-timeout as follows: 1) This patch gathers and prints the following info that can help in diagnosing the cause of a TX-timeout. a) TX queue and completion queue entries. b) SKB and TCP/UDP header details. 2) For Lancer NICs (TX-timeout recovery is not supported for BE3/Skyhawk-R NICs), it recovers from the TX timeout as follows: a) On a TX-timeout, driver sets the PHYSDEV_CONTROL_FW_RESET_MASK bit in the PHYSDEV_CONTROL register. Lancer firmware goes into an error state and indicates this back to the driver via a bit in a doorbell register. b) Driver detects this and calls be_err_recover(). DMA is disabled, all pending TX skbs are unmapped and freed (be_close()). All rings are destroyed (be_clear()). c) The driver waits for the FW to re-initialize and re-creates all rings along with other data structs (be_resume()) Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex/benet/be.h')
0 files changed, 0 insertions, 0 deletions