net: fec: Use a spinlock to guard `fep->ptp_clk_on`
authorCsókás Bence <csokas.bence@prolan.hu>
Thu, 1 Sep 2022 14:04:03 +0000 (16:04 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 3 Sep 2022 04:15:39 +0000 (21:15 -0700)
commitb353b241f1eb9b6265358ffbe2632fdcb563354f
treea0ebbdf9ae3e51d02b245563716095eca5b8c466
parent7d650df99d528f674cc744719a00a20be1f912f8
net: fec: Use a spinlock to guard `fep->ptp_clk_on`

Mutexes cannot be taken in a non-preemptible context,
causing a panic in `fec_ptp_save_state()`. Replacing
`ptp_clk_mutex` by `tmreg_lock` fixes this.

Fixes: 6a4d7234ae9a ("net: fec: ptp: avoid register access when ipg clock is disabled")
Fixes: f79959220fa5 ("fec: Restart PPS after link state change")
Reported-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/all/20220827160922.642zlcd5foopozru@pengutronix.de/
Signed-off-by: Csókás Bence <csokas.bence@prolan.hu>
Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex Apalis iMX6
Link: https://lore.kernel.org/r/20220901140402.64804-1-csokas.bence@prolan.hu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/fec.h
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/freescale/fec_ptp.c