On Sun, 2016-05-29 at 22:30 -0700, David Miller wrote: > From: Christoph Fritz <chf.fr...@googlemail.com> > 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?