On Fri, May 31, 2019 at 01:18:02PM -0600, Robert Hancock wrote:
> SFP device polling can cause problems during the shutdown process if the
> parent devices of the network controller have been shut down already.
> This problem was seen on the iMX6 platform with PCIe devices, where
> accessing the device after the bus is shut down causes a hang.
> 
> Stop all delayed work in the SFP driver during the shutdown process to
> avoid this problem.

What about interrupts?

> 
> Signed-off-by: Robert Hancock <hanc...@sedsystems.ca>
> ---
>  drivers/net/phy/sfp.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
> index 554acc8..6b6c83d 100644
> --- a/drivers/net/phy/sfp.c
> +++ b/drivers/net/phy/sfp.c
> @@ -1928,9 +1928,18 @@ static int sfp_remove(struct platform_device *pdev)
>       return 0;
>  }
>  
> +static void sfp_shutdown(struct platform_device *pdev)
> +{
> +     struct sfp *sfp = platform_get_drvdata(pdev);
> +
> +     cancel_delayed_work_sync(&sfp->poll);
> +     cancel_delayed_work_sync(&sfp->timeout);
> +}
> +
>  static struct platform_driver sfp_driver = {
>       .probe = sfp_probe,
>       .remove = sfp_remove,
> +     .shutdown = sfp_shutdown,
>       .driver = {
>               .name = "sfp",
>               .of_match_table = sfp_of_match,
> -- 
> 1.8.3.1
> 
> 

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

Reply via email to