Re: GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume (was: Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd)

Linus Torvalds
2009-11-11T21:39:10Z

On Wed, 11 Nov 2009, Oliver Neukum wrote:
>
> Yes, btusb_close() needs to cancel the waker workqueue, too.
> In addition, in order to avoid a memory leak it must call
> usb_scuttle_anchored_urbs(&data->deferred)
> to make sure any deferred data is destroyed.

Ok. I committed the one-liner patch to fix the oops (confirmed by Rafael),
but I'm leaving the memory leak for you as I'm not going to commit some
untested patch at this stage.

Thanks to everybody involved, I was personally very nervous that this was
something much more fundamental (we've had some scary bugs during the
32-rc series), and am relieved that it was "just" a silly driver bug.

Linus