On Wed, 26 Jul 2023 16:01:23 +0530 Md Danish Anwar wrote: > I think MAX_SKB_FRAGS is OK. If the available pool = MAX_SKB_FRAGS we should be > able to wake the queue. MAX_SKB_FRAGS only counts frags and you also need space to map the head, no? In general we advise to wait until there's at least 2 * MAX_SKB_FRAGS to avoid frequent sleep/wake cycles. But IDK how long your queue is, maybe it's too much. > No I don't think any lock is required here. emac_set_port_state() aquires lock > before updating port status. Also emac_ndo_set_rx_mode_work() is scheduled by a > singlethreaded workqueue. if (netif_running()) outside of any locks is usually a red flag, but if you're confident it's fine it's fine :)