From: Takashi Iwai Date: Thu, 8 Aug 2024 09:15:21 +0000 (+0200) Subject: ALSA: usb-audio: Check shutdown at endpoint_set_interface() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9b88d0890ed9adab413ea991fac90842688e1017;p=users%2Fwilly%2Fxarray.git ALSA: usb-audio: Check shutdown at endpoint_set_interface() The call of usb_set_interface() and a delay are superfluous when the device has been already disconnected. Add a disconnection check before doing it. Link: https://patch.msgid.link/20240808091522.31415-1-tiwai@suse.de Signed-off-by: Takashi Iwai --- diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 8f65349a06d3..568099467dbb 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -921,6 +921,9 @@ static int endpoint_set_interface(struct snd_usb_audio *chip, if (ep->iface_ref->altset == altset) return 0; + /* already disconnected? */ + if (unlikely(atomic_read(&chip->shutdown))) + return -ENODEV; usb_audio_dbg(chip, "Setting usb interface %d:%d for EP 0x%x\n", ep->iface, altset, ep->ep_num);