[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190115164016.GA25341@kroah.com>
Date: Tue, 15 Jan 2019 17:40:16 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Nikolay Yakimov <root@...id.pp.ru>
Cc: Saranya Gopal <saranya.gopal@...el.com>, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: Fix configuration selection issues introduced in
v4.20.0
On Tue, Jan 15, 2019 at 07:13:54PM +0300, Nikolay Yakimov wrote:
> Commit f13912d3f014a introduced changes to the usb_choose_configuration function
> to better support USB Audio UAC3-compatible devices. However, there are a few
> problems with this patch. First of all, it adds new "if" clauses in the middle
> of an existing "if"/"else if" tree, which obviously breaks pre-existing logic.
> Secondly, since it continues iterating over configurations in one of the branches,
> other code in the loop can choose an unintended configuration. Finally,
> if an audio device's first configuration is UAC3-compatible, and there
> are multiple UAC3 configurations, the second one would be chosen, due to
> the first configuration never being checked for UAC3-compatibility.
>
> Commit ff2a8c532c14 tries to fix the second issue, but it goes about it in a
> somewhat unnecessarily convoluted way, in my opinion, and does nothing
> to fix the first or the last one.
>
> This patch tries to rectify problems described by essentially rewriting
> code introduced in f13912d3f014a. Notice the code was moved to *before*
> the "if"/"else if" tree.
>
> Signed-off-by: Nikolay Yakimov <root@...id.pp.ru>
> ---
> drivers/usb/core/generic.c | 44 ++++++++++++++++++++++----------------
> 1 file changed, 25 insertions(+), 19 deletions(-)
Were you able to test this on one of the devices that ff2a8c532c14
("usbcore: Select only first configuration for non-UAC3 compliant
devices") was created to fix?
thanks,
greg k-h
Powered by blists - more mailing lists