summaryrefslogtreecommitdiff
path: root/arch/ppc/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorSuraj Gupta <suraj.gupta2@amd.com>2026-03-27 13:02:38 +0530
committerPaolo Abeni <pabeni@redhat.com>2026-03-31 12:09:12 +0200
commitd1978d03e86785872871bff9c2623174b10740de (patch)
tree544fe7f6ae51070e7c9681c9fdb222c2fa5ea1cb /arch/ppc/git@git.tavy.me:linux.git
parent393e0b4f178ec7fce1141dacc3304e3607a92ee9 (diff)
net: xilinx: axienet: Fix BQL accounting for multi-BD TX packets
When a TX packet spans multiple buffer descriptors (scatter-gather), axienet_free_tx_chain sums the per-BD actual length from descriptor status into a caller-provided accumulator. That sum is reset on each NAPI poll. If the BDs for a single packet complete across different polls, the earlier bytes are lost and never credited to BQL. This causes BQL to think bytes are permanently in-flight, eventually stalling the TX queue. The SKB pointer is stored only on the last BD of a packet. When that BD completes, use skb->len for the byte count instead of summing per-BD status lengths. This matches netdev_sent_queue(), which debits skb->len, and naturally survives across polls because no partial packet contributes to the accumulator. Fixes: c900e49d58eb ("net: xilinx: axienet: Implement BQL") Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com> Reviewed-by: Sean Anderson <sean.anderson@linux.dev> Link: https://patch.msgid.link/20260327073238.134948-3-suraj.gupta2@amd.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'arch/ppc/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions