[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210208120115.0372cbd7@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Mon, 8 Feb 2021 12:01:15 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Edwin Peer <edwin.peer@...adcom.com>
Cc: netdev@...r.kernel.org, "David S . Miller" <davem@...emloft.net>,
Andrew Gospodarek <andrew.gospodarek@...adcom.com>,
Michael Chan <michael.chan@...adcom.com>
Subject: Re: [PATCH net] net: watchdog: hold device global xmit lock during
tx disable
On Fri, 5 Feb 2021 17:37:32 -0800 Edwin Peer wrote:
> Prevent netif_tx_disable() running concurrently with dev_watchdog() by
> taking the device global xmit lock. Otherwise, the recommended:
>
> netif_carrier_off(dev);
> netif_tx_disable(dev);
>
> driver shutdown sequence can happen after the watchdog has already
> checked carrier, resulting in possible false alarms. This is because
> netif_tx_lock() only sets the frozen bit without maintaining the locks
> on the individual queues.
>
> Fixes: c3f26a269c24 ("netdev: Fix lockdep warnings in multiqueue configurations.")
> Signed-off-by: Edwin Peer <edwin.peer@...adcom.com>
Reviewed-by: Jakub Kicinski <kuba@...nel.org>
Even though using the dev->tx_global_lock as a barrier is not very
clean in itself the thinking is that this restores previous semantics
with deeper changes.
Powered by blists - more mailing lists