diff options
author | Florian Fainelli <[email protected]> | 2017-01-20 15:31:52 -0800 |
---|---|---|
committer | David S. Miller <[email protected]> | 2017-01-23 15:37:10 -0500 |
commit | eab127717a6af54401ba534790c793ec143cd1fc (patch) | |
tree | 844269bbc845f289d134965033ff37e0243c0811 /net/unix/garbage.c | |
parent | 9f427a0e474a67b454420c131709600d44850486 (diff) |
net: phy: Avoid deadlock during phy_error()
phy_error() is called in the PHY state machine workqueue context, and
calls phy_trigger_machine() which does a cancel_delayed_work_sync() of
the workqueue we execute from, causing a deadlock situation.
Augment phy_trigger_machine() machine with a sync boolean indicating
whether we should use cancel_*_sync() or just cancel_*_work().
Fixes: 3c293f4e08b5 ("net: phy: Trigger state machine on state change and not polling.")
Reported-by: Russell King <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/unix/garbage.c')
0 files changed, 0 insertions, 0 deletions