be2net: Handle transmit completion errors in Lancer
authorSuresh Reddy <suresh.reddy@broadcom.com>
Tue, 6 Feb 2018 13:52:42 +0000 (08:52 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Feb 2018 16:48:33 +0000 (11:48 -0500)
commitffc39620102dfe62711fadb9a297b66aee816013
treebd4cd5c737e6671c4a9d6df536eec18a3dee7171
parent3df40aad1a864af124bd50a1371ef16089ac9af2
be2net: Handle transmit completion errors in Lancer

If the driver receives a TX CQE with status as 0x1 or 0x9 or 0xb,
the completion indexes should not be used. The driver must stop
consuming CQEs from this TXQ/CQ. The TXQ from this point on-wards
to be in a bad state. Driver should destroy and recreate the TXQ.

0x1: LANCER_TX_COMP_LSO_ERR
0x9 LANCER_TX_COMP_SGE_ERR
0xb: LANCER_TX_COMP_PARITY_ERR

Reset the adapter if driver sees this error in TX completion. Also
adding sge error counter in ethtool stats.

Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_ethtool.c
drivers/net/ethernet/emulex/benet/be_hw.h
drivers/net/ethernet/emulex/benet/be_main.c