diff options
author | Jakub Kicinski <kuba@kernel.org> | 2023-07-28 23:50:20 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-08-01 00:28:39 +0300 |
commit | 37b61cda9c1606cd8b6445d900ca9dc03185e8b6 (patch) | |
tree | cae7311b38243f08b5fc3c6b745a740b881c0a4d /drivers/net/ethernet/broadcom/bnx2.c | |
parent | 4b31fd4d77ffa430d0b74ba1885ea0a41594f202 (diff) | |
download | linux-37b61cda9c1606cd8b6445d900ca9dc03185e8b6.tar.xz |
bnxt: don't handle XDP in netpoll
Similarly to other recently fixed drivers make sure we don't
try to access XDP or page pool APIs when NAPI budget is 0.
NAPI budget of 0 may mean that we are in netpoll.
This may result in running software IRQs in hard IRQ context,
leading to deadlocks or crashes.
To make sure bnapi->tx_pkts don't get wiped without handling
the events, move clearing the field into the handler itself.
Remember to clear tx_pkts after reset (bnxt_enable_napi())
as it's technically possible that netpoll will accumulate
some tx_pkts and then a reset will happen, leaving tx_pkts
out of sync with reality.
Fixes: 322b87ca55f2 ("bnxt_en: add page_pool support")
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/20230728205020.2784844-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2.c')
0 files changed, 0 insertions, 0 deletions