From: Marek BehĂșn Date: Fri, 5 Apr 2019 09:07:58 +0000 (+0200) Subject: net: sfp: move sfp_register_socket call from sfp_remove to sfp_probe X-Git-Tag: v4.14.112~69 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5393c36705010563a97e3a73e28ace83ff515e0;p=people%2Farne_f%2Fkernel.git net: sfp: move sfp_register_socket call from sfp_remove to sfp_probe Commit c4ba68b8691e4 backported from upstream to 4.14 stable was probably applied wrongly, and instead of calling sfp_register_socket in sfp_probe, the socket registering code was put into sfp_remove. This is obviously wrong. The commit first appeared in 4.14.104. Fix it for the next 4.14 release. Fixes: c4ba68b8691e4 ("net: sfp: do not probe SFP module before we're attached") Cc: stable Cc: Russell King Cc: David S. Miller Cc: Greg Kroah-Hartman Cc: Sasha Levin Signed-off-by: Marek BehĂșn Signed-off-by: Sasha Levin --- diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index a1b68b19d9124..5ab725a571a84 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -878,6 +878,10 @@ static int sfp_probe(struct platform_device *pdev) if (poll) mod_delayed_work(system_wq, &sfp->poll, poll_jiffies); + sfp->sfp_bus = sfp_register_socket(sfp->dev, sfp, &sfp_module_ops); + if (!sfp->sfp_bus) + return -ENOMEM; + return 0; } @@ -887,10 +891,6 @@ static int sfp_remove(struct platform_device *pdev) sfp_unregister_socket(sfp->sfp_bus); - sfp->sfp_bus = sfp_register_socket(sfp->dev, sfp, &sfp_module_ops); - if (!sfp->sfp_bus) - return -ENOMEM; - return 0; }