On Tue, 29 May 2007, Mark Lord wrote: > >> Okay, just to make it trivial, > >> I've narrowed it down to only this commit from Alan Stern: > >> > >> 7ed92f1a149dddc3cb537ccd7441e98adac12c3e USB: make the autosuspend > >> workqueue thread freezable > > > > I'm a little surprised; I would have expected the other patch to be the > > one responsible. Are you sure you got the right one? > > Absolutely, 100% sure.
In fact, looking back at things I suspect the real culprit was 6b157c9bf3bace6eeb4a973da63923ef24995cce USB: separate autosuspend from external suspend The patch you identified merely makes the problem much more likely to occur. It causes both threads involved in the deadlock to be frozen instead of just one of them, so when things get unfrozen the race is poised to occur. > I didn't re-break the kernel to do the alt-sysrq thing, > but I did reapply the b0rken commit plus your new patch (below). No need, it seems pretty clear that this was the problem. > So far, so good with that combination, thanks. You're welcome. I'll send the patch on up the line... Greg, the patch I sent Mark is for 2.6.22-rc3. It's different from the corresponding patch for the USB development tree because of intervening changes. How would you like to handle this? Should I send you both versions of the patch? Alan Stern - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/