diff options
author | Vladimir Oltean | 2019-08-05 00:38:46 +0200 |
---|---|---|
committer | David S. Miller | 2019-08-06 23:37:02 +0200 |
commit | 6cb0abbdf90c180e1310976c47399f57477e0e53 (patch) | |
tree | b85bb0da5c7eb10794feeb1fe9ed74da472ba986 /net/dsa | |
parent | net: dsa: sja1105: Use the LOCKEDS bit for SJA1105 E/T as well (diff) | |
download | kernel-qcow2-linux-6cb0abbdf90c180e1310976c47399f57477e0e53.tar.gz kernel-qcow2-linux-6cb0abbdf90c180e1310976c47399f57477e0e53.tar.xz kernel-qcow2-linux-6cb0abbdf90c180e1310976c47399f57477e0e53.zip |
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/dsa')
0 files changed, 0 insertions, 0 deletions