net: dsa: Do not clobber PHY link outside of state machine
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 6 Feb 2017 23:55:23 +0000 (15:55 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Feb 2017 18:48:22 +0000 (13:48 -0500)
commite69e46261063a25c3907bed16a2e9d18b115d1fd
treecf8ebddef2228a4a1571c66faecf00d2eb238d7b
parent6136c8fe53a8a28906e090ddd8914f9846eb8df8
net: dsa: Do not clobber PHY link outside of state machine

Calling phy_read_status() means that we may call into
genphy_read_status() which in turn will use genphy_update_link() which
can make changes to phydev->link outside of the state machine's state
transitions. This is an invalid behavior that is now caught as of
811a919135b9 ("phy state machine: failsafe leave invalid RUNNING state")

Reported-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/slave.c