[alsa-devel] Lost dB volumes on USB headset between 2.6.38 and 3.0

Takashi Iwai tiwai at suse.de
Thu Aug 18 17:18:09 CEST 2011


At Tue, 16 Aug 2011 13:31:52 +0100,
Colin Guthrie wrote:
> 
> > diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> > index c04d7c7..cdd19d7 100644
> > --- a/sound/usb/mixer.c
> > +++ b/sound/usb/mixer.c
> > @@ -152,6 +152,7 @@ static inline void check_mapped_dB(const struct usbmix_name_map *p,
> >  	if (p && p->dB) {
> >  		cval->dBmin = p->dB->min;
> >  		cval->dBmax = p->dB->max;
> > +		cval->initialized = 1;
> >  	}
> >  }
> >  
> > @@ -1092,7 +1093,7 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc,
> >  				" Switch" : " Volume");
> >  		if (control == UAC_FU_VOLUME) {
> >  			check_mapped_dB(map, cval);
> > -			if (cval->dBmin < cval->dBmax) {
> > +			if (cval->dBmin < cval->dBmax || !cval->initialized) {
> >  				kctl->tlv.c = mixer_vol_tlv;
> >  				kctl->vd[0].access |= 
> >  					SNDRV_CTL_ELEM_ACCESS_TLV_READ |
> 
> 
> 
> Not had a chance to test this yet but I will when I get a moment.

Any chance to test the patch?


Takashi


More information about the Alsa-devel mailing list