]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Workaround occasional TX timeout on 57500 A0.
authorMichael Chan <michael.chan@broadcom.com>
Thu, 15 Nov 2018 08:25:40 +0000 (03:25 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2018 17:37:15 +0000 (09:37 -0800)
commit6cdfdedcca487619eda15ac3bad64fbd03644947
tree061a41a006ca4bbcad2a6d02fd84f7e7731bf843
parent68d86499eef999778164c1095bec01a872ec95b8
bnxt_en: Workaround occasional TX timeout on 57500 A0.

Hardware can sometimes not generate NQ MSIX with a single pending
CP ring entry.  This seems to always happen at the last entry of
the CP ring before it wraps.  Add logic to check all the CP rings for
pending entries without the CP ring consumer index advancing.  Calling
HWRM_DBG_RING_INFO_GET to read the context of the CP ring will flush
out the NQ entry and MSIX.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h