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")