On Thu, 11 Mar 2021 15:13:01 -0800 Xie He wrote: > On Thu, Mar 11, 2021 at 2:52 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > > > Normally driver's ndo_stop() calls netif_tx_disable() which takes TX > > locks, so unless your driver is lockless (LLTX) there should be no xmit > > calls after that point. > > Do you mean I should call "netif_tx_disable" inside my "ndo_stop" > function as a fix for the racing between "ndo_stop" and > "ndo_start_xmit"? > > I can't call "netif_tx_disable" inside my "ndo_stop" function because > "netif_tx_disable" will call "netif_tx_stop_queue", which causes > another racing problem. Please see my recent commit f7d9d4854519 > ("net: lapbether: Remove netif_start_queue / netif_stop_queue") And the "noqueue" queue is there because it's on top of hdlc_fr.c somehow or some out of tree driver? Or do you install it manually?