Re: [RFC v3 00/23] xHCI split roothub and USB 3.0 hub support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 08, 2011 at 11:59:19AM -0800, Paul Zimmerman wrote:
> > From: Sarah Sharp [mailto:sarah.a.sharp@xxxxxxxxxxxxxxx]
> > Sent: Monday, March 07, 2011 2:12 PM
> > 
> > This is the third revision of the patchset to add USB 3.0 hub support,
> > and make the xHCI host controller have two roothubs: a USB 2.0 roothub
> > and a USB 3.0 roothub.  The original patchset can be found here:
> > 
> > 	http://marc.info/?l=linux-usb&m=129375137520460&w=2
> > 
> > Changes since v2:
> > 
> >  - Fix various bugs, including the device resume_done issue I had
> >    (http://marc.info/?l=linux-usb&m=129504238230270&w=2)  Turns out it
> >    was an issue with the xHCI driver not using the correct index, and
> >    Andiry was correct that the patch mentioned in that link is not
> >    needed.
> > 
> >  usb: Store bus type in usb_hcd, not in driver flags.
> >   - Rename usb_hcd->bcdUSB to usb_hcd->speed (the commit message needs
> >     to get updated, sorry).
> > 
> >  xhci: Register second xHCI roothub.
> >   - The xHCI driver now registers a PCI probe function, which calls the
> >     USB core's PCI probe function, and then registers a second roothub
> >     with calls to usb_create_shared_hcd() and usb_add_hcd().  This
> >     avoids mucking up the USB PCI core with xHCI specific code, and
> >     allows future host controller drivers to easily register more than
> >     two shared host controllers.
> >   - Register the USB 2.0 roothub first, to avoid resume issues.
> > 
> >  USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.
> >   - change the portspeed() routine to accept a pointer to the hub
> >     structure in order to avoid printk statement duplication.
> > 
> >  USB: Disable auto-suspend for USB 3.0 hubs.
> >   - Only disable auto-suspend for external USB 3.0 hubs.  Allow
> >     autosuspend to be enabled for USB 3.0 roothubs.  Otherwise the host
> >     controller doesn't get suspended when there are no USB 3.0 devices
> >     attached to the system and all USB 2.0 devices are suspended.
> 
> Hi Sarah,
> 
> I tested this with the Synopsys xHCI controller and a Via USB3 hub, and
> it works. However, I have seen a couple of kernel crashes when plugging
> or unplugging devices. I haven't been able to capture the messages yet,
> but I see that it is happening somewhere in the xhci interrupt handler.
> Today I will try using netconsole to capture the dmesg when the crash
> happens again.

That would be helpful, yes.  I have seen a kernel crash when the driver
is unloaded while a USB mouse is plugged in, and I think the URB gets
killed while the host controller is halted and can't respond to the stop
endpoint command.  I think the URB cancellation code just needs to run
the cancellation handler if the host controller is halted.  But I
haven't had a chance to look at my crash too closely.

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux