summaryrefslogtreecommitdiffstats
path: root/drivers/phy/freescale
diff options
context:
space:
mode:
authorIoana Ciornei <ioana.ciornei@nxp.com>2023-10-04 13:17:06 +0200
committerDavid S. Miller <davem@davemloft.net>2023-10-06 11:59:52 +0200
commitf200bab3756fe81493a1b280180dafa1d9ccdcf7 (patch)
treecef3bd95e0eac7efe1f97eb41e530a5b4d941608 /drivers/phy/freescale
parentMerge tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff)
downloadlinux-f200bab3756fe81493a1b280180dafa1d9ccdcf7.tar.xz
linux-f200bab3756fe81493a1b280180dafa1d9ccdcf7.zip
phy: lynx-28g: cancel the CDR check work item on the remove path
The blamed commit added the CDR check work item but didn't cancel it on the remove path. Fix this by adding a remove function which takes care of it. Fixes: 8f73b37cf3fb ("phy: add support for the Layerscape SerDes 28G") Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/phy/freescale')
-rw-r--r--drivers/phy/freescale/phy-fsl-lynx-28g.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freescale/phy-fsl-lynx-28g.c
index 4f036c77284e..c6323669f119 100644
--- a/drivers/phy/freescale/phy-fsl-lynx-28g.c
+++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c
@@ -604,6 +604,14 @@ static int lynx_28g_probe(struct platform_device *pdev)
return PTR_ERR_OR_ZERO(provider);
}
+static void lynx_28g_remove(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct lynx_28g_priv *priv = dev_get_drvdata(dev);
+
+ cancel_delayed_work_sync(&priv->cdr_check);
+}
+
static const struct of_device_id lynx_28g_of_match_table[] = {
{ .compatible = "fsl,lynx-28g" },
{ },
@@ -612,6 +620,7 @@ MODULE_DEVICE_TABLE(of, lynx_28g_of_match_table);
static struct platform_driver lynx_28g_driver = {
.probe = lynx_28g_probe,
+ .remove_new = lynx_28g_remove,
.driver = {
.name = "lynx-28g",
.of_match_table = lynx_28g_of_match_table,