summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-08-25 09:49:47 +0100
committerDavid S. Miller <davem@davemloft.net>2015-08-25 16:30:46 -0700
commit05a7f582be961824d62a7f4a817f3783148b5f8a (patch)
treed43da7ed68308ae9b606d7ad681f5789c1956acd /drivers/net/ethernet/freescale
parentbef0057b7ba881d5ae67eec876df7a26fe672a59 (diff)
downloadop-kernel-dev-05a7f582be961824d62a7f4a817f3783148b5f8a.zip
op-kernel-dev-05a7f582be961824d62a7f4a817f3783148b5f8a.tar.gz
net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect()
The phy layer is missing locking for the above two functions - it has been observed that two threads (userspace and the phy worker thread) can race, entering the bus ->write or ->read functions simultaneously. This causes the FEC driver to initialise a completion while another thread is waiting on it or while the interrupt is calling complete() on it, which causes spinlock unlock-without-lock, spinlock lockups, and completion timeouts. Fixes: a59a4d192 ("phy: add the EEE support and the way to access to the MMD registers.") Fixes: 0c1d77dfb ("net: libphy: Add phy specific function to access mmd phy registers") Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud