On Fri, 6 Oct 2023 19:04:29 +0000 Pandey, Radhey Shyam wrote: > > > + netif_stop_queue(ndev); > > > + if (net_ratelimit()) > > > + netdev_warn(ndev, "TX ring unexpectedly full\n"); > > > > I don't see you stopping the queue when the ring gets full, am I not looking > > into the right place? Otherwise this is sort of expected to occasionally hapen > > We are calling stop_queue if TX ring is full. Is that what you meant? > netif_stop_queue(ndev); But somewhere else or just here after printing the warning? The recommended flow is to stop the queue after enqueuing a packet successfully, if the remaining space is not enough to hold an skb with all frags populated. That avoids ever returning BUSY.