[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181123180358.GC5273@lunn.ch>
Date: Fri, 23 Nov 2018 19:03:58 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Quentin Schulz <quentin.schulz@...tlin.com>
Cc: davem@...emloft.net, f.fainelli@...il.com,
allan.nielsen@...rochip.com, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, thomas.petazzoni@...tlin.com,
alexandre.belloni@...tlin.com
Subject: Re: [PATCH net v3] net: phy: mscc: fix deadlock in
vsc85xx_default_config
On Fri, Nov 23, 2018 at 07:01:51PM +0100, Quentin Schulz wrote:
> The vsc85xx_default_config function called in the vsc85xx_config_init
> function which is used by VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
> mistakenly calls phy_read and phy_write in-between phy_select_page and
> phy_restore_page.
>
> phy_select_page and phy_restore_page actually take and release the MDIO
> bus lock and phy_write and phy_read take and release the lock to write
> or read to a PHY register.
>
> Let's fix this deadlock by using phy_modify_paged which handles
> correctly a read followed by a write in a non-standard page.
>
> Fixes: 6a0bfbbe20b0 ("net: phy: mscc: migrate to phy_select/restore_page functions")
>
> Signed-off-by: Quentin Schulz <quentin.schulz@...tlin.com>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists