[PATCH] ALSA: usb-audio: Fix superfluous autosuspend recovery

Kai-Heng Feng kai.heng.feng at canonical.com
Mon Jul 26 05:09:11 CEST 2021


On Sun, Jul 25, 2021 at 6:23 PM Takashi Iwai <tiwai at suse.de> 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 at vger.kernel.org>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
>  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
>


More information about the Alsa-devel mailing list