[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170123.153749.133128615698755715.davem@davemloft.net>
Date: Mon, 23 Jan 2017 15:37:49 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: f.fainelli@...il.com
Cc: netdev@...r.kernel.org, andrew@...n.ch, kyle.roeschley@...com,
rmk+kernel@...linux.org.uk
Subject: Re: [PATCH net] net: phy: Avoid deadlock during phy_error()
From: Florian Fainelli <f.fainelli@...il.com>
Date: Fri, 20 Jan 2017 15:31:52 -0800
> 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>
Applied, thanks Florian.
Powered by blists - more mailing lists