[alsa-devel] no reset_resume for driver snd-usb-audio for logitech headset H600

Takashi Iwai tiwai at suse.de
Wed Oct 9 11:16:35 CEST 2013


At Wed, 09 Oct 2013 11:13:44 +0200,
Takashi Iwai wrote:
> 
> At Wed, 09 Oct 2013 10:41:57 +0200,
> Clemens Ladisch wrote:
> > 
> > Takashi Iwai wrote:
> > >> On Tue, 8 Oct 2013 baumber at hotmail.com wrote:
> > >>> https://bugzilla.kernel.org/show_bug.cgi?id=62691
> > >>>
> > >>> Summary: no reset_resume for driver snd-usb-audio for logitech headset H600
> > >
> > > How about simply applying the same resume for reset_resume like below?
> > >
> > > ---
> > >
> > > diff --git a/sound/usb/card.c b/sound/usb/card.c
> > > index 9d9de8d..c591a83 100644
> > > --- a/sound/usb/card.c
> > > +++ b/sound/usb/card.c
> > > @@ -747,6 +747,7 @@ static struct usb_driver usb_audio_driver = {
> > >  	.disconnect =	usb_audio_disconnect,
> > >  	.suspend =	usb_audio_suspend,
> > >  	.resume =	usb_audio_resume,
> > > +	.reset_resume =	usb_audio_resume,
> > >  	.id_table =	usb_audio_ids,
> > >  	.supports_autosuspend = 1,
> > >  };
> > 
> > When the device was reset, the state of all mixer controls has been
> > lost.  Disconnecting the card (the default behaviour without
> > reset_resume) is the correct thing to do in this situation.
> 
> Ah, I somehow thought we resume the mixer control values as well (as
> they are cached in the driver).  So it's possible to resume these in
> reset_resume case, in theory, too.
> 
> But, not all stuff has been cached, e.g. the quirk stuff may be
> handled exceptionally.
> 
> > Userspace should pick up the USB device again when it reappears.
> > (But it doesn't.  Is this a PulseAudio or a KDE problem?)
> 
> PulseAudio shows the problem, AFAIK.  IIRC, it's a bit tricky to
> achieve this because it can be other 

[oops, pushed the send button wrongly]
... usb device, not necessarily the very same device at suspend time.


Takashi


More information about the Alsa-devel mailing list