Re: d3cold breaks my usb 3.0 port (Lenovo X220)

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

 



On Sat, Oct 27, 2012 at 10:03:08PM -0700, Andrew Lutomirski wrote:
> On Sat, Oct 27, 2012 at 9:59 PM, Andrew Lutomirski <luto@xxxxxxx> wrote:
> > I have a Lenovo X220, and d3cold seems to break hotplug on xhci.  This
> > is 3.6.2-4.fc17.x86_64.
> >
> > The device is:
> >
> > 0e:00.0 USB Controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host
> >
> > Inserting a USB3 flash stick has absolutely no effect, other than some
> > lights on the stick flickering for a couple seconds.  When I wrote 0
> > to /sys/devices/pci0000:00/0000:00:1c.6/0000:0e:00.0/d3cold_allowed
> > with the stick inserted, the kernel immediately detected it, and it
> > worked.
>
> Eek.  It's not what I thought it was.  The problem persists regardless
> of the setting of d3cold_allowed.  The stick is only recognized when I
> insert it and then *toggle* d3cold_allowed.  Setting power/control to
> "on" seems to fix it.

Was that power/control for the PCI host controller?

If you allow D3 cold, plug in the USB device, and then run
`sudo lsusb -v`, is the device enumerated?

It sounds like we're not getting an interrupt for the port status change
event.  That could be a problem with the host not being able to send the
interrupt during D3, or it could be an xHCI driver problem.  We've had
bugs in the past where a previous port status change bit didn't cleared,
and the xHC didn't send a new interrupt for the connect change.  This
issue smells similar to that.

Can you recompile with CONFIG_USB_DEBUG and
CONFIG_USB_XHCI_HCD_DEBUGGING turned on?  I'll need the dmesg just
before the host controller goes into D3cold, when the hotplug event
occurs, and after you trigger a D3 exit by setting power/control to on.

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