Re: [PATCH net] net: lapbether: Prevent racing when checking whether the netif is running

From: Xie He
Date: Thu Mar 11 2021 - 18:13:58 EST


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