phy: lynx-28g: cancel the CDR check work item on the remove path
[ Upstream commit f200bab3756fe81493a1b280180dafa1d9ccdcf7 ]
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: 8f73b37cf3
("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5f9d0edff2
commit
e52c81a9e3
@ -603,6 +603,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" },
|
||||
{ },
|
||||
@ -611,6 +619,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,
|
||||
|
Loading…
Reference in New Issue
Block a user