On Sun, Jul 25, 2021 at 6:23 PM Takashi Iwai <tiwai@xxxxxxx> wrote: > > The change to restore the autosuspend from the disabled state uses a > wrong check: namely, it should have been the exact comparison of the > quirk_type instead of the logical and (&&). Otherwise it matches > wrongly with the other quirk types. > > Although re-enabling the autosuspend for the already enabled device > shouldn't matter much, it's better to fix the unbalanced call. > > Fixes: 9799110825db ("ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend()") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> > --- > sound/usb/card.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/usb/card.c b/sound/usb/card.c > index 2f6a62416c05..a1f8c3a026f5 100644 > --- a/sound/usb/card.c > +++ b/sound/usb/card.c > @@ -907,7 +907,7 @@ static void usb_audio_disconnect(struct usb_interface *intf) > } > } > > - if (chip->quirk_type & QUIRK_SETUP_DISABLE_AUTOSUSPEND) It was bitwise and, not logical and... Kai-Heng > + if (chip->quirk_type == QUIRK_SETUP_DISABLE_AUTOSUSPEND) > usb_enable_autosuspend(interface_to_usbdev(intf)); > > chip->num_interfaces--; > -- > 2.26.2 >