linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
@ 2016-09-08  0:41 Lu Baolu
  2016-09-08  6:38 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Lu Baolu @ 2016-09-08  0:41 UTC (permalink / raw)
  To: Mathias Nyman; +Cc: linux-usb, linux-kernel, Lu Baolu, stable

xhci_setup_device() should return failure with correct error number
when xhci host has died, removed or halted.

Cc: stable@vger.kernel.org # 4.3+
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 v1->v2:
 - fix email mismatch issue

 drivers/usb/host/xhci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 01d96c9..3e66e73 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3785,8 +3785,10 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
 
 	mutex_lock(&xhci->mutex);
 
-	if (xhci->xhc_state)	/* dying, removing or halted */
+	if (xhci->xhc_state) {	/* dying, removing or halted */
+		ret = -ESHUTDOWN;
 		goto out;
+	}
 
 	if (!udev->slot_id) {
 		xhci_dbg_trace(xhci, trace_xhci_dbg_address,
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
  2016-09-08  0:41 [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device() Lu Baolu
@ 2016-09-08  6:38 ` Greg KH
  2016-09-08  7:29   ` Lu Baolu
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2016-09-08  6:38 UTC (permalink / raw)
  To: Lu Baolu; +Cc: Mathias Nyman, linux-usb, linux-kernel, stable

On Thu, Sep 08, 2016 at 08:41:02AM +0800, Lu Baolu wrote:
> xhci_setup_device() should return failure with correct error number
> when xhci host has died, removed or halted.
> 
> Cc: stable@vger.kernel.org # 4.3+

Why is this a stable kernel issue?  What bug does it fix that affects
users?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
  2016-09-08  6:38 ` Greg KH
@ 2016-09-08  7:29   ` Lu Baolu
  2016-09-08  8:58     ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Lu Baolu @ 2016-09-08  7:29 UTC (permalink / raw)
  To: Greg KH; +Cc: Mathias Nyman, linux-usb, linux-kernel, stable

Hi Greg,

On 09/08/2016 02:38 PM, Greg KH wrote:
> On Thu, Sep 08, 2016 at 08:41:02AM +0800, Lu Baolu wrote:
>> xhci_setup_device() should return failure with correct error number
>> when xhci host has died, removed or halted.
>>
>> Cc: stable@vger.kernel.org # 4.3+
> Why is this a stable kernel issue?  What bug does it fix that affects
> users?

During usb device enumeration, if xhci host is not accessible (died,
removed or halted), the hc_driver->address_device() should return
a corresponding error code to usb core. But current xhci driver just
returns success. This will mislead usb core to continue enumeration:
reading device descriptor, which will result in failure, and users will
get a misleading message like "device descriptor read/8, error -110".

Best regards,
Lu Baolu

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
  2016-09-08  7:29   ` Lu Baolu
@ 2016-09-08  8:58     ` Greg KH
  2016-09-08  9:08       ` Lu Baolu
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2016-09-08  8:58 UTC (permalink / raw)
  To: Lu Baolu; +Cc: Mathias Nyman, linux-usb, linux-kernel, stable

On Thu, Sep 08, 2016 at 03:29:25PM +0800, Lu Baolu wrote:
> Hi Greg,
> 
> On 09/08/2016 02:38 PM, Greg KH wrote:
> > On Thu, Sep 08, 2016 at 08:41:02AM +0800, Lu Baolu wrote:
> >> xhci_setup_device() should return failure with correct error number
> >> when xhci host has died, removed or halted.
> >>
> >> Cc: stable@vger.kernel.org # 4.3+
> > Why is this a stable kernel issue?  What bug does it fix that affects
> > users?
> 
> During usb device enumeration, if xhci host is not accessible (died,
> removed or halted), the hc_driver->address_device() should return
> a corresponding error code to usb core. But current xhci driver just
> returns success. This will mislead usb core to continue enumeration:
> reading device descriptor, which will result in failure, and users will
> get a misleading message like "device descriptor read/8, error -110".

Why didn't you include this in the changelog text so that it is obvious
why this patch is needed?

Don't just describe what the patch does, we can read C code, describe
_why_ it is needed.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
  2016-09-08  8:58     ` Greg KH
@ 2016-09-08  9:08       ` Lu Baolu
  0 siblings, 0 replies; 5+ messages in thread
From: Lu Baolu @ 2016-09-08  9:08 UTC (permalink / raw)
  To: Greg KH; +Cc: Mathias Nyman, linux-usb, linux-kernel, stable

Hi Greg,

On 09/08/2016 04:58 PM, Greg KH wrote:
> On Thu, Sep 08, 2016 at 03:29:25PM +0800, Lu Baolu wrote:
>> Hi Greg,
>>
>> On 09/08/2016 02:38 PM, Greg KH wrote:
>>> On Thu, Sep 08, 2016 at 08:41:02AM +0800, Lu Baolu wrote:
>>>> xhci_setup_device() should return failure with correct error number
>>>> when xhci host has died, removed or halted.
>>>>
>>>> Cc: stable@vger.kernel.org # 4.3+
>>> Why is this a stable kernel issue?  What bug does it fix that affects
>>> users?
>> During usb device enumeration, if xhci host is not accessible (died,
>> removed or halted), the hc_driver->address_device() should return
>> a corresponding error code to usb core. But current xhci driver just
>> returns success. This will mislead usb core to continue enumeration:
>> reading device descriptor, which will result in failure, and users will
>> get a misleading message like "device descriptor read/8, error -110".
> Why didn't you include this in the changelog text so that it is obvious
> why this patch is needed?
>
> Don't just describe what the patch does, we can read C code, describe
> _why_ it is needed.

Yes. Thank you for the guidance. I will do it in a v3 patch.

Best regards,
Lu Baolu

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-09-08  9:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-08  0:41 [PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device() Lu Baolu
2016-09-08  6:38 ` Greg KH
2016-09-08  7:29   ` Lu Baolu
2016-09-08  8:58     ` Greg KH
2016-09-08  9:08       ` Lu Baolu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).