bnxt_en: Add workaround to detect bad opaque in rx completion (part 2)
commitfa7e28127a5ad9fd55ac9c7707d8c8b835113a7c
authorMichael Chan <michael.chan@broadcom.com>
Tue, 10 May 2016 23:18:00 +0000 (10 19:18 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 May 2016 03:46:09 +0000 (11 23:46 -0400)
tree10bed408042dacc3bc4a73f84126477c67f55138
parent376a5b8647d6c56cb8f104d7ad0390b4f4057e70
bnxt_en: Add workaround to detect bad opaque in rx completion (part 2)

Add detection and recovery code when the hardware returned opaque value
does not match the expected consumer index.  Once the issue is detected,
we skip the processing of all RX and LRO/GRO packets.  These completion
entries are discarded without sending the SKB to the stack and without
producing new buffers.  The function will be reset from a workqueue.

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