Ah, I forgot to put my sign-off since I was waiting for any test result... Has anyone tried it?
Doesn't work for me. same oops as before. Either I made a mistake when merging this patch manually (there were some rejects), or the problem is still there.
Added some additional traces, the dereference takes place before the mutex is unlocked.
usb 3-1: USB disconnect, address 5 ALSA card.c:556: locking USB shutdown mutex ALSA urb.c:492: frame 0 active: -84 ALSA urb.c:197: cannot submit urb (err = -19) ALSA urb.c:492: frame 0 active: -84 ALSA urb.c:197: cannot submit urb (err = -19) ALSA urb.c:492: frame 0 active: -84 ALSA urb.c:197: cannot submit urb (err = -19) ALSA urb.c:492: frame 0 active: -84 ALSA urb.c:197: cannot submit urb (err = -19) ALSA urb.c:186: NULL substream (subs->running 0) ALSA urb.c:186: NULL substream (subs->running 0) ALSA card.c:575: UNlocking USB shutdown mutex