[PATCH] ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend()

Takashi Iwai tiwai at suse.de
Thu Mar 4 09:10:22 CET 2021


On Thu, 04 Mar 2021 05:34:16 +0100,
Kai-Heng Feng wrote:
> 
> Rear audio on Lenovo ThinkStation P620 stops working after commit
> 1965c4364bdd ("ALSA: usb-audio: Disable autosuspend for Lenovo
> ThinkStation P620"):
> [    6.013526] usbcore: registered new interface driver snd-usb-audio
> [    6.023064] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.023083] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> [    6.023090] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.023098] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> [    6.023103] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.023110] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> [    6.045846] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.045866] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> [    6.045877] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.045886] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> [    6.045894] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x0, type = 1
> [    6.045908] usb 3-6: cannot get ctl value: req = 0x81, wValue = 0x202, wIndex = 0x0, type = 4
> 
> I overlooked the issue because when I was working on the said commit,
> only the front audio is tested. Apology for that.
> 
> Changing supports_autosuspend in driver is too late for disabling
> autosuspend, because it was already used by USB probe routine, so it can
> break the balance on the following code that depends on
> supports_autosuspend.
> 
> Fix it by using usb_disable_autosuspend() helper, and balance the
> suspend count in disconnect callback.
> 
> Fixes: 1965c4364bdd ("ALSA: usb-audio: Disable autosuspend for Lenovo ThinkStation P620")
> Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>

Thanks, applied.


Takashi


More information about the Alsa-devel mailing list