]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net: xilinx: axienet: Fix RX skb ring management in DMAengine mode
authorSuraj Gupta <suraj.gupta2@amd.com>
Wed, 13 Aug 2025 13:55:59 +0000 (19:25 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 Aug 2025 00:38:44 +0000 (17:38 -0700)
commitfd980bf6e9cdae885105685259421164f843ca55
tree26e6003c80dd03d0401195617fae6694977b78d6
parent1548549e17e374a126e9a4e9edab8bb041fbd67e
net: xilinx: axienet: Fix RX skb ring management in DMAengine mode

Submit multiple descriptors in axienet_rx_cb() to fill Rx skb ring. This
ensures the ring "catches up" on previously missed allocations.

Increment Rx skb ring head pointer after BD is successfully allocated.
Previously, head pointer was incremented before verifying if descriptor is
successfully allocated and has valid entries, which could lead to ring
state inconsistency if descriptor setup failed.

These changes improve reliability by maintaining adequate descriptor
availability and ensuring proper ring buffer state management.

Fixes: 6a91b846af85 ("net: axienet: Introduce dmaengine support")
Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com>
Link: https://patch.msgid.link/20250813135559.1555652-1-suraj.gupta2@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c