diff options
author | Vladimir Oltean <olteanv@gmail.com> | 2019-08-05 01:38:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-06 14:37:02 -0700 |
commit | 6cb0abbdf90c180e1310976c47399f57477e0e53 (patch) | |
tree | b85bb0da5c7eb10794feeb1fe9ed74da472ba986 /net | |
parent | 4b7da3d808f91cdad3e34059cd68ba3dfe4c3695 (diff) |
net: dsa: sja1105: Really fix panic on unregistering PTP clock
The IS_ERR_OR_NULL(priv->clock) check inside
sja1105_ptp_clock_unregister() is preventing cancel_delayed_work_sync
from actually being run.
Additionally, sja1105_ptp_clock_unregister() does not actually get run,
when placed in sja1105_remove(). The DSA switch gets torn down, but the
sja1105 module does not get unregistered. So sja1105_ptp_clock_unregister
needs to be moved to sja1105_teardown, to be symmetrical with
sja1105_ptp_clock_register which is called from the DSA sja1105_setup.
It is strange to fix a "fixes" patch, but the probe failure can only be
seen when the attached PHY does not respond to MDIO (issue which I can't
pinpoint the reason to) and it goes away after I power-cycle the board.
This time the patch was validated on a failing board, and the kernel
panic from the fixed commit's message can no longer be seen.
Fixes: 29dd908d355f ("net: dsa: sja1105: Cancel PTP delayed work on unregister")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions