Re: [PATCH 0/2] ALSA: Don't share mixer->urb with the FCP/scarlett2 notification endpoint
Takashi Iwai <[email protected]>
| Newsgroups | gmane.linux.sound |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 09 Aug 2026 20:05:41 +0200, Geoffrey D. Bennett wrote: > > Hi Takashi, > > Both the FCP and scarlett2 drivers used mixer->urb for their > notification endpoint URB, but that field belongs to > snd_usb_mixer_status_create() and is managed by mixer.c. Sharing it > means the "already set up" check in the driver's init_notify() can be > satisfied by the status endpoint's URB, so the driver's own URB is > never submitted and the first command would crash in > wait_for_completion_timeout() on the still-zeroed cmd_done. mixer.c > can also kill, resubmit or free the URB from under the driver. > > Give each driver its own URB in its private data. For scarlett2 this > also means taking over the free/suspend/resume handling that mixer.c > was doing for it. > > Tested on an ISA C8X and a Scarlett 18i20 Gen 4 (FCP), and a Scarlett > 4i4 Gen 3 and 4i4 Gen 4 (scarlett2) on 7.1.7, including suspend/resume > and configuration save on suspend. > > Thanks, > Geoffrey > > Geoffrey D. Bennett (2): > ALSA: FCP: Use a private URB for the notification endpoint > ALSA: scarlett2: Use a private URB for the notification endpoint As those are no new regression, I applied both to for-next branch now. thanks, Takashi