On Thu, Apr 06, 2023 at 12:59:04PM +0300, Radu Pirea (OSS) wrote: > Unregister PTP clock when the driver is removed. > Purge the RX and TX skb queues. > > Fixes: 514def5dd339 ("phy: nxp-c45-tja11xx: add timestamping support") > CC: stable@xxxxxxxxxxxxxxx # 5.15+ > Signed-off-by: Radu Pirea (OSS) <radu-nicolae.pirea@xxxxxxxxxxx> > --- > drivers/net/phy/nxp-c45-tja11xx.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/net/phy/nxp-c45-tja11xx.c b/drivers/net/phy/nxp-c45-tja11xx.c > index 5813b07242ce..27738d1ae9ea 100644 > --- a/drivers/net/phy/nxp-c45-tja11xx.c > +++ b/drivers/net/phy/nxp-c45-tja11xx.c > @@ -1337,6 +1337,17 @@ static int nxp_c45_probe(struct phy_device *phydev) > return ret; > } > > +static void nxp_c45_remove(struct phy_device *phydev) > +{ > + struct nxp_c45_phy *priv = phydev->priv; > + > + if (priv->ptp_clock) > + ptp_clock_unregister(priv->ptp_clock); > + > + skb_queue_purge(&priv->tx_queue); > + skb_queue_purge(&priv->rx_queue); Do you need to disable interrupts? I suppose the real question is, is it guaranteed phy_disconnect() is called before the driver is removed? Andrew