linux/drivers/net/ethernet
Suraj Gupta 5ccdcdf186 net: xilinx: axienet: Enqueue Tx packets in dql before dmaengine starts
Enqueue packets in dql after dma engine starts causes race condition.
Tx transfer starts once dma engine is started and may execute dql dequeue
in completion before it gets queued. It results in following kernel crash
while running iperf stress test:

kernel BUG at lib/dynamic_queue_limits.c:99!
<snip>
Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
pc : dql_completed+0x238/0x248
lr : dql_completed+0x3c/0x248

Call trace:
  dql_completed+0x238/0x248
  axienet_dma_tx_cb+0xa0/0x170
  xilinx_dma_do_tasklet+0xdc/0x290
  tasklet_action_common+0xf8/0x11c
  tasklet_action+0x30/0x3c
  handle_softirqs+0xf8/0x230
<snip>

Start dmaengine after enqueue in dql fixes the crash.

Fixes: 6a91b846af ("net: axienet: Introduce dmaengine support")
Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com>
Link: https://patch.msgid.link/20241030062533.2527042-2-suraj.gupta2@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-11-03 14:35:11 -08:00
..
3com
8390
actions
adaptec
adi net: ethernet: adi: adin1110: Fix some error handling path in adin1110_read_fifo() 2024-10-07 16:49:43 -07:00
aeroflex net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit() 2024-10-15 09:59:20 -07:00
agere
alacritech net: alacritech: Partially revert "net: alacritech: Switch to use dev_err_probe()" 2024-09-03 15:28:57 -07:00
allwinner
alteon
altera
amazon net: ena: Extend customer metrics reporting support 2024-09-12 18:01:17 -07:00
amd net: amd: mvme147: Fix probe banner message 2024-10-09 12:45:51 +01:00
apm
apple net: apple: bmac: Use IRQF_NO_AUTOEN flag in request_irq() 2024-09-12 20:35:04 -07:00
aquantia net: atlantic: convert comma to semicolon 2024-09-06 18:05:53 -07:00
arc
asix
atheros net: ag71xx: remove dead code path 2024-09-13 19:53:47 -07:00
broadcom bnxt_en: replace ptp_lock with irqsave variant 2024-10-19 16:16:25 -05:00
brocade
cadence net: macb: Avoid 20s boot delay by skipping MDIO bus registration for fixed-link PHY 2024-10-15 10:40:47 -07:00
calxeda
cavium net: thunderx: Remove setting of RX software timestamp 2024-09-09 17:44:41 -07:00
chelsio cxgb4: Remove setting of RX software timestamp 2024-09-06 09:34:18 +01:00
cirrus net: cirrus: use u8 for addr to calm down sparse 2024-09-23 06:58:37 +00:00
cisco enic: Report some per queue statistics in ethtool 2024-09-13 21:17:12 -07:00
cortina
davicom net: dm9051: fix module autoloading 2024-08-27 14:26:04 -07:00
dec move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
dlink net: ethernet: dlink: replace deprecated macro 2024-08-14 12:20:55 +01:00
emulex be2net: fix potential memory leak in be_xmit() 2024-10-19 16:06:08 -05:00
engleder tsnep: Remove setting of RX software timestamp 2024-09-03 15:17:48 -07:00
ezchip
faraday net: ftgmac100: fixed not check status from fixed phy 2024-10-09 17:56:55 -07:00
freescale net: enetc: allocate vf_state during PF probes 2024-11-03 12:50:53 -08:00
fujitsu
fungible net/funeth: Remove setting of RX software timestamp 2024-09-09 17:44:41 -07:00
google gve: Remove unused declaration gve_rx_alloc_rings() 2024-08-19 17:48:20 -07:00
hisilicon net: hns3: fix kernel crash when 1588 is sent on HIP08 devices 2024-10-31 11:15:43 +01:00
huawei net: hinic: use ethtool_sprintf/puts 2024-08-13 11:59:37 +02:00
i825xx net/sun3_82586: fix potential memory leak in sun3_82586_send_packet() 2024-10-19 16:04:20 -05:00
ibm net: ibm: emac: mal: add dcr_unmap to _remove 2024-10-09 19:27:09 -07:00
intel ice: fix crash on probe for DPLL enabled E810 LOM 2024-10-29 15:24:53 +01:00
litex
marvell octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx() 2024-10-19 16:20:07 -05:00
mediatek net: ethernet: mtk_wed: fix path of MT7988 WO firmware 2024-10-30 18:26:24 -07:00
mellanox mlxsw: spectrum_ipip: Fix memory leak when changing remote IPv6 address 2024-10-30 18:24:39 -07:00
meta move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
micrel
microchip net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test() 2024-10-15 18:39:00 -07:00
microsoft dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
moxa
mscc net: mscc: ocelot: Remove setting of RX software timestamp 2024-09-09 17:44:41 -07:00
myricom
natsemi
neterion
netronome move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ni
nvidia
nxp
oki-semi
packetengines move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
pasemi netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
pensando ionic: Allow XDP program to be hot swapped 2024-09-09 19:18:15 -07:00
qlogic qlcnic: make read-only const array key static 2024-09-11 16:00:54 -07:00
qualcomm netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
rdc
realtek r8169: avoid unsolicited interrupts 2024-10-23 15:41:27 +02:00
renesas net: ravb: Only advertise Rx/Tx timestamps if hardware supports it 2024-10-15 18:41:10 -07:00
rocker netdev_features: convert NETIF_F_NETNS_LOCAL to dev->netns_local 2024-09-03 11:36:43 +02:00
samsung
seeq net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition 2024-09-19 15:17:30 +02:00
sfc sfc: Don't invoke xdp_do_flush() from netpoll. 2024-10-03 15:42:00 -07:00
sgi
silan
sis
smsc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
socionext
stmicro net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data 2024-10-29 11:37:10 +01:00
sun net: sunvnet: use ethtool_sprintf/puts 2024-08-12 13:25:38 +01:00
sunplus
synopsys
tehuti netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
ti net: ti: icssg-prueth: Fix race condition for VLAN table access 2024-10-09 12:18:01 +01:00
toshiba netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
tundra
vertexcom net: vertexcom: mse102x: Use ETH_ZLEN 2024-08-29 11:39:35 -07:00
via
wangxun i2c-for-6.12-rc1 2024-09-23 14:34:19 -07:00
wiznet
xilinx net: xilinx: axienet: Enqueue Tx packets in dql before dmaengine starts 2024-11-03 14:35:11 -08:00
xircom
xscale ixp4xx_eth: Remove setting of RX software timestamp 2024-09-09 17:44:42 -07:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: ethernet: use ip_hdrlen() instead of bit shift 2024-08-11 04:41:15 +01:00
jme.h
Kconfig net: ethernet: oa_tc6: implement register write operation 2024-09-11 20:53:42 -07:00
korina.c
lantiq_etop.c net: ethernet: lantiq_etop: fix memory disclosure 2024-10-01 10:58:07 +02:00
lantiq_xrx200.c
Makefile net: ethernet: oa_tc6: implement register write operation 2024-09-11 20:53:42 -07:00
oa_tc6.c net: ethernet: oa_tc6: add helper function to enable zero align rx frame 2024-09-11 20:53:45 -07:00