diff options
author | Suresh Reddy <suresh.reddy@broadcom.com> | 2018-07-31 11:39:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-01 09:39:09 -0700 |
commit | c1b3bdb2ffa9a343ded117e01d6b4b43b9df53f8 (patch) | |
tree | 504b794a8191bacb67460733973759745d224f1b /arch | |
parent | 96d395020e87607b3454edc2f49a03ddcfbef986 (diff) |
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 'arch')
0 files changed, 0 insertions, 0 deletions