diff options
| author | Xuanqiang Luo <luoxuanqiang@kylinos.cn> | 2026-08-11 23:13:44 +0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-08-13 17:29:56 -0700 |
| commit | e8b166c1f0a53312bd50355ea4db77b2a6728e0f (patch) | |
| tree | 1bc5f5ff6d326012c2fdc7bb8dd5ee61c47edbed | |
| parent | 20663d78f1a1c242ad865967a31ee716dd1e52a1 (diff) | |
net: phy: dp83640: clear state after PTP registration failure
dp83640_probe() publishes its per-PHY state through phydev before
registering the PTP clock. If registration fails, the private data is
freed while phydev->mii_ts and phydev->priv still point to it, and
default_timestamp remains set.
Clear the published PHY state and reset the PTP clock pointer before
freeing the private data.
Cc: stable+noautosel@kernel.org # untested fix to a driver init path
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
Link: https://patch.msgid.link/20260811151345.73582-4-xuanqiang.luo@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | drivers/net/phy/dp83640.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index ba39d30b7470..7aa5cf0a7bb0 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -1449,6 +1449,10 @@ static int dp83640_probe(struct phy_device *phydev) no_register: clock->chosen = NULL; + clock->ptp_clock = NULL; + phydev->default_timestamp = false; + phydev->mii_ts = NULL; + phydev->priv = NULL; kfree(dp83640); no_memory: dp83640_clock_put(clock); |
