Subject: Re: usbnet: smsc95xx: fix link detection for disabled autonegotiation

From: Christoph Fritz <[email-masked]>
Date: Mon, 30 May 2016 22:07:42 +0200

On Sun, 2016-05-29 at 22:30 -0700, David Miller wrote:
> From: Christoph Fritz <[email-masked]>
> Date: Thu, 26 May 2016 04:06:47 +0200
> 
> > @@ -1695,6 +1745,7 @@ static int smsc95xx_resume(struct usb_interface *intf)
> >  
> >  	/* do this first to ensure it's cleared even in error case */
> >  	pdata->suspend_flags = 0;
> > +	schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
> 
> Why are you not cancelling this delayed work in the suspend routine of
> the driver?

I'm doing this:
+       if (pdata->suspend_flags != 0)
+               return;

inside the "worker-function" so that schedule_delayed_work() is not
called again.

Should I explicitly cancel_delayed_work() inside suspend() too?