[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1105021008491.2106-100000@iolanthe.rowland.org>
Date: Mon, 2 May 2011 10:09:59 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Greg KH <greg@...ah.com>
cc: Nikola Ciprich <nikola.ciprich@...uxbox.cz>,
<linux-usb@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<stable@...nel.org>, <hirofuchi@...rs.sourceforge.net>,
<arjan.mels@....net>, <rjw@...k.pl>,
Stanislav SCHATTKE <schattke@...uxbox.cz>
Subject: Re: [regression?] d199c96d41d80a567493e12b8e96ea056a1350c1 breaks
usbip
On Sun, 1 May 2011, Greg KH wrote:
> On Sun, May 01, 2011 at 08:10:30PM +0200, Nikola Ciprich wrote:
> > Hello,
> > we've hit regression introduced by d199c96d41d80a567493e12b8e96ea056a1350c1:
> >
> > Author: Alan Stern <stern@...land.harvard.edu>
> > Date: Mon Jan 31 10:56:37 2011 -0500
> >
> > USB: prevent buggy hubs from crashing the USB stack
> >
> > If anyone comes across a high-speed hub that (by mistake or by design)
> > claims to have no Transaction Translators, plugging a full- or
> > low-speed device into it will cause the USB stack to crash. This
> > patch (as1446) prevents the problem by ignoring such devices, since
> > the kernel has no way to communicate with them.
> >
> > Signed-off-by: Alan Stern <stern@...land.harvard.edu>
> > Tested-by: Perry Neben <neben@...are.com>
> > CC: <stable@...nel.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
> >
> > since this commit, trying to use staging/usbip spits message about missing TT:
> >
> > [ 388.893134] usbip_common_mod: module is from the staging directory, the quality is unknown, you have been warned.
> > [ 388.898154] usbip_common_mod: usbip common driver1.0
> > [ 388.905360] vhci_hcd: module is from the staging directory, the quality is unknown, you have been warned.
> > [ 388.909991] vhci_hcd: vhci_hcd, 1.0
> > [ 388.912370] usbip: proving...
> > [ 388.912379] vhci_hcd vhci_hcd: USB/IP Virtual Host Contoroller
> > [ 388.913052] vhci_hcd vhci_hcd: new USB bus registered, assigned bus number 2
> > [ 388.932339] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
> > [ 388.932344] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> > [ 388.932348] usb usb2: Product: USB/IP Virtual Host Contoroller
> > [ 388.932351] usb usb2: Manufacturer: Linux 2.6.32lb.38 vhci_hcd
> > [ 388.932354] usb usb2: SerialNumber: vhci_hcd
> > [ 388.932531] usb usb2: configuration #1 chosen from 1 choice
> > [ 388.932578] hub 2-0:1.0: USB hub found
> > [ 388.932587] hub 2-0:1.0: 8 ports detected
> > [ 478.379036] usbip: rhport(0) sockfd(3) devid(131075) speed(2)
> > [ 478.379214] usbip: changed 1
> > [ 478.500048] usbip: changed 0
> > [ 478.608075] usb 2-1: new full speed USB device using vhci_hcd and address 2
> > [ 478.608079] usb 2-1: parent hub has no TT
> > [ 478.720074] usb 2-1: new full speed USB device using vhci_hcd and address 3
> > [ 478.720078] usb 2-1: parent hub has no TT
> > [ 478.832086] usb 2-1: new full speed USB device using vhci_hcd and address 4
> > [ 478.832091] usb 2-1: parent hub has no TT
> > [ 478.944076] usb 2-1: new full speed USB device using vhci_hcd and address 5
> > [ 478.944080] usb 2-1: parent hub has no TT
> > [ 478.944087] hub 2-0:1.0: unable to enumerate USB device on port 1
> >
> > I'm not sure whether this is bug in
> > d199c96d41d80a567493e12b8e96ea056a1350c1, I guess it might be usbip
> > problem.
> > Since d199c96d41d80a567493e12b8e96ea056a1350c1 already got into
> > -stable, usbip stopped working in 2.6.32.x (and I guess also stable
> > and longterm kernels).
>
> This is a usbip problem, we need to set the correct flag for it to work
> properly. I'll look into it tomorrow when I get a chance.
Here's a patch which should fix the problem. Nikola, can you test it?
Alan Stern
Index: usb-2.6/drivers/staging/usbip/vhci_hcd.c
===================================================================
--- usb-2.6.orig/drivers/staging/usbip/vhci_hcd.c
+++ usb-2.6/drivers/staging/usbip/vhci_hcd.c
@@ -1139,7 +1139,7 @@ static int vhci_hcd_probe(struct platfor
usbip_uerr("create hcd failed\n");
return -ENOMEM;
}
-
+ hcd->has_tt = 1;
/* this is private data for vhci_hcd */
the_controller = hcd_to_vhci(hcd);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists