[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0a017d9f-168e-4c6e-a061-68118e8e635e@lunn.ch>
Date: Tue, 14 Mar 2023 17:52:55 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Vladimir Oltean <vladimir.oltean@....com>
Cc: netdev@...r.kernel.org, Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net] net: phy: mscc: fix deadlock in
phy_ethtool_{get,set}_wol()
On Tue, Mar 14, 2023 at 06:45:47PM +0200, Vladimir Oltean wrote:
> On Tue, Mar 14, 2023 at 05:31:45PM +0100, Andrew Lunn wrote:
> > [Goes and checks to see if the same problem exists for other PHY drivers]
>
> Here's a call path I am not sure how to interpret (but doesn't look like
> there's anything preventing it).
>
> linkstate_get_sqi()
> -> mutex_lock(&phydev->lock)
> -> phydev->drv->get_sqi(phydev);
> -> lan87xx_get_sqi()
> -> access_ereg()
> -> lan937x_dsp_workaround()
> -> mutex_lock(&phydev->lock);
> -> mutex_unlock(&phydev->lock);
> -> mutex_unlock(&phydev->lock)
I noticed access_ereg() as well. But i don't think there have been any
recent changes there. Lots loop in the Microchip developers.
Andrew
Powered by blists - more mailing lists