[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99667e5c-588d-1eea-dd42-a11384d286dd@samsung.com>
Date: Mon, 18 Sep 2023 15:05:41 +0200
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>, Heiner Kallweit
<hkallweit1@...il.com>, chenhao418@...wei.com, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Jijie Shao <shaojijie@...wei.com>, lanhao@...wei.com,
liuyonglong@...wei.com, netdev@...r.kernel.org, Paolo Abeni
<pabeni@...hat.com>, shenjian15@...wei.com, wangjie125@...wei.com,
wangpeiyang1@...wei.com
Subject: Re: [PATCH net-next 1/7] net: phy: always call
phy_process_state_change() under lock
On 18.09.2023 14:55, Andrew Lunn wrote:
>> This probably need to be fixed somewhere in drivers/net/usb/asix* but at
>> the first glance I don't see any obvious place that need a fix.
> static int __asix_mdio_read(struct net_device *netdev, int phy_id, int loc,
> bool in_pm)
> {
> struct usbnet *dev = netdev_priv(netdev);
> __le16 res;
> int ret;
>
> mutex_lock(&dev->phy_mutex);
>
> Taking this lock here is the problem. Same for write.
>
> There is some funky stuff going on in asix_devices.c. It using both
> phylib and the much older mii code.
This must be something different. Removing those calls to phy_mutex from
__asix_mdio_read/write doesn't fix this deadlock (I intentionally
ignored the fact that some kind of synchronization is probably required
there).
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists