diff options
| author | Jakub Kicinski <[email protected]> | 2023-07-20 01:04:40 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2023-07-21 03:09:13 +0000 |
| commit | 2b56b3d9924160d84c37d085628525666e3b1cea (patch) | |
| tree | 97eaeaaedfd419060ec1785752a2dc9e5a004c17 /net/switchdev/switchdev.c | |
| parent | eth: bnxt: take the bit to set as argument of bnxt_queue_sp_work() (diff) | |
| download | kernel-2b56b3d9924160d84c37d085628525666e3b1cea.tar.gz kernel-2b56b3d9924160d84c37d085628525666e3b1cea.zip | |
eth: bnxt: handle invalid Tx completions more gracefully
Invalid Tx completions should never happen (tm) but when they do
they crash the host, because driver blindly trusts that there is
a valid skb pointer on the ring.
The completions I've seen appear to be some form of FW / HW
miscalculation or staleness, they have typical (small) values
(<100), but they are most often higher than number of queued
descriptors. They usually happen after boot.
Instead of crashing, print a warning and schedule a reset.
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Michael Chan <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions
