[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <b985983c-f649-a880-8d8f-734a64e1a673@axis.com>
Date: Mon, 27 Feb 2017 14:56:31 +0100
From: Niklas Cassel <niklas.cassel@...s.com>
To: netdev <netdev@...r.kernel.org>
Subject: phy deadlock -stable backport request
Hello
I would like to request that
commit eab127717a6af54401ba534790c793ec143cd1fc
Author: Florian Fainelli <f.fainelli@...il.com>
Date: Fri Jan 20 15:31:52 2017 -0800
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 <rmk+kernel@...linux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
Signed-off-by: David S. Miller <davem@...emloft.net>
drivers/net/phy/phy.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
would be backported to stable branch v4.9.
I've seen this deadlock happen on v4.9.x
Regards,
Niklas
Powered by blists - more mailing lists