Message ID | 1546709942-28634-1-git-send-email-saranya.gopal@intel.com (mailing list archive) |
---|---|
State | Superseded |
Commit | ff2a8c532c14fd22fb26a36574d9ff199afbbe54 |
Headers | show |
Series | [V2] usbcore: Select only first configuration for non-UAC3 compliant devices | expand |
Hi Saranya On Sun, 6 Jan 2019 at 04:41, <saranya.gopal@intel.com> wrote: > > From: Saranya Gopal <saranya.gopal@intel.com> > > In most of the UAC1 and UAC2 audio devices, the first > configuration is most often the best configuration. > However, with recent patch to support UAC3 configuration, > second configuration was unintentionally chosen for > some of the UAC1/2 devices that had more than one > configuration. This was because of the existing check > after the audio config check which selected any config > which had a non-vendor class. This patch fixes this issue. > > Fixes: f13912d3f014 ("usbcore: Select UAC3 configuration for audio if present") > Reported-by: Con Kolivas <kernel@kolivas.org> > Signed-off-by: Saranya Gopal <saranya.gopal@intel.com>> I can confirm the above patch fixes my problem. Tested-by: Con Kolivas <kernel@kolivas.org> Thanks! Con
diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c index 356b05c..f713cec 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c @@ -143,9 +143,12 @@ int usb_choose_configuration(struct usb_device *udev) continue; } - if (i > 0 && desc && is_audio(desc) && is_uac3_config(desc)) { - best = c; - break; + if (i > 0 && desc && is_audio(desc)) { + if (is_uac3_config(desc)) { + best = c; + break; + } + continue; } /* From the remaining configs, choose the first one whose