linux/drivers/net/ethernet/ti
Meghana Malladi d95ea4bc09 net: ti: icssg: Fix XSK zero copy TX during application wakeup
emac_xsk_xmit_zc() handles tx xmit for zero copy and gets called
inside napi context. User application wakes up the kernel while
initiating the transmit which triggers napi to start processing
the tx packets. The num_tx check inside emac_tx_complete_packets()
returns early if no packet transfer happen hindering the call
to emac_xsk_xmit_zc(). Remove this check to let application
wakeup initiate zero copy xmit traffic.

Add __netif_tx_lock() to ensure that the TX queue is protected
from concurrent access during the transmission of XDP frames.
This fixes netdev watchdog timeout for long runs.

Fixes: e2dc7bfd67 ("net: ti: icssg-prueth: Move common functions into a separate file")
Signed-off-by: Meghana Malladi <m-malladi@ti.com>
Link: https://patch.msgid.link/20260618100348.2209907-1-m-malladi@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-23 14:45:32 -07:00
..
icssg net: ti: icssg: Fix XSK zero copy TX during application wakeup 2026-06-23 14:45:32 -07:00
icssm net: ti: icssm-prueth: fix eth_ports_node leak in probe 2026-05-08 18:10:30 -07:00
am65-cpsw-ethtool.c net: ethernet: ti: am65-cpsw: Discard pm_runtime_put() return value 2026-01-08 08:15:03 -08:00
am65-cpsw-nuss.c net: ethernet: ti: am65-cpsw-nuss: remove dead vid check in slave_add_vid() 2026-05-20 17:00:44 -07:00
am65-cpsw-nuss.h net: ethernet: ti: am65-cpsw-nuss: Fix rx_filter value for PTP support 2026-03-11 20:28:37 -07:00
am65-cpsw-qos.c net: ethernet: ti: am65-cpsw-qos: fix IET verify retry mechanism 2025-11-10 18:00:40 -08:00
am65-cpsw-qos.h
am65-cpsw-switchdev.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
am65-cpsw-switchdev.h
am65-cpts.c net: ethernet: ti: am65-cpsw: Use also port number to identify timestamps 2026-03-09 19:01:08 -07:00
am65-cpts.h net: ethernet: ti: am65-cpsw: Use also port number to identify timestamps 2026-03-09 19:01:08 -07:00
cpsw_ale.c net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
cpsw_ale.h
cpsw_ethtool.c net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
cpsw_new.c net: cpsw_new: unregister devlink on port registration failure 2026-06-05 17:27:24 -07:00
cpsw_priv.c net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
cpsw_priv.h net: ethernet: ti-cpsw:: rename soft_reset() function 2026-04-06 19:03:46 -07:00
cpsw_sl.c net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
cpsw_sl.h
cpsw_switchdev.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
cpsw_switchdev.h
cpsw-common.c
cpsw-phy-sel.c
cpsw.c net: ethernet: ti-cpsw:: rename soft_reset() function 2026-04-06 19:03:46 -07:00
cpsw.h
cpts.c time/timecounter: Fix the lie that struct cyclecounter is const 2025-07-01 15:38:25 +02:00
cpts.h
davinci_cpdma.c net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
davinci_cpdma.h
davinci_emac.c net: ti: davinci_emac: stop using bus type mdio_bus_type 2026-03-03 13:12:08 +01:00
davinci_mdio.c net: davinci_mdio: use new iterator mdiobus_for_each_phy 2025-10-29 19:00:34 -07:00
k3-cppi-desc-pool.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
k3-cppi-desc-pool.h
Kconfig net: ti: icssg-prueth: Add optional dependency on HSR 2026-02-11 12:04:15 +01:00
Makefile net: ethernet: ti-cpsw: fix linking built-in code to modules 2026-04-06 19:03:49 -07:00
netcp_core.c net: ethernet: ti: netcp: Use u64_stats_t with u64_stats_sync properly 2026-01-26 19:53:41 -08:00
netcp_ethss.c phy: rename hwtstamp callback to hwtstamp_set 2025-11-26 16:56:33 -08:00
netcp_sgmii.c
netcp_xgbepcsr.c
netcp.h net: ethernet: ti: netcp: Use u64_stats_t with u64_stats_sync properly 2026-01-26 19:53:41 -08:00
tlan.c net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
tlan.h