aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/microchip/ksz_common.c
diff options
context:
space:
mode:
authorMaciej Fijalkowski <[email protected]>2025-08-19 22:19:58 +0000
committerJakub Kicinski <[email protected]>2025-08-21 01:46:30 +0000
commitf3d9f7fa7f5dbfd4fdb1e69c25fc5627700d19dd (patch)
tree3d65ffa03c3b22dcbc10943a0eab83c54b6ab990 /drivers/net/dsa/microchip/ksz_common.c
parentixgbe: xsk: resolve the negative overflow of budget in ixgbe_xmit_zc (diff)
downloadkernel-f3d9f7fa7f5dbfd4fdb1e69c25fc5627700d19dd.tar.gz
kernel-f3d9f7fa7f5dbfd4fdb1e69c25fc5627700d19dd.zip
ixgbe: fix ndo_xdp_xmit() workloads
Currently ixgbe driver checks periodically in its watchdog subtask if there is anything to be transmitted (considering both Tx and XDP rings) under state of carrier not being 'ok'. Such event is interpreted as Tx hang and therefore results in interface reset. This is currently problematic for ndo_xdp_xmit() as it is allowed to produce descriptors when interface is going through reset or its carrier is turned off. Furthermore, XDP rings should not really be objects of Tx hang detection. This mechanism is rather a matter of ndo_tx_timeout() being called from dev_watchdog against Tx rings exposed to networking stack. Taking into account issues described above, let us have a two fold fix - do not respect XDP rings in local ixgbe watchdog and do not produce Tx descriptors in ndo_xdp_xmit callback when there is some problem with carrier currently. For now, keep the Tx hang checks in clean Tx irq routine, but adjust it to not execute for XDP rings. Cc: Tobias Böhm <[email protected]> Reported-by: Marcus Wichelmann <[email protected]> Closes: https://lore.kernel.org/netdev/[email protected]/ Fixes: 6453073987ba ("ixgbe: add initial support for xdp redirect") Fixes: 33fdc82f0883 ("ixgbe: add support for XDP_TX action") Reviewed-by: Aleksandr Loktionov <[email protected]> Tested-by: Marcus Wichelmann <[email protected]> Signed-off-by: Maciej Fijalkowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.c')
0 files changed, 0 insertions, 0 deletions