diff options
author | David S. Miller <davem@davemloft.net> | 2014-06-21 15:50:45 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-21 15:50:45 -0700 |
commit | a705a906c617b1c389729829c0a160f179d043bf (patch) | |
tree | 268100006a23483618c21fc14dd2aff0c728488b /drivers/net/phy/phy.c | |
parent | 916c1689a09bc1ca81f2d7a34876f8d35aadd11b (diff) | |
parent | 13a56b4493259e6b020dbcf6a76b2bef479f3edf (diff) |
Merge branch 'at803x'
Daniel Mack says:
====================
Handle stuck TX queue bug in AT8030 PHY
These three small patches circument a hardware bug in AT8030 PHYs that
leads to stuck TX FIFO queues when the link goes away while there are
pending patches in der outbound queue. This bug has been confirmed by
the vendor, and their only proposed fix is to apply a hardware reset
every time the link goes down.
v1 -> v2:
* Rename phy device callback from adjust_state to link_change_notify
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r-- | drivers/net/phy/phy.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 3bc079a67a3d..f7c61812ea4a 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -720,6 +720,9 @@ void phy_state_machine(struct work_struct *work) mutex_lock(&phydev->lock); + if (phydev->drv->link_change_notify) + phydev->drv->link_change_notify(phydev); + switch (phydev->state) { case PHY_DOWN: case PHY_STARTING: |