Re: [regression] Force hard reset of Renesas uPD72020x USB controller

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

 



Hi Marc,

100% ack
- Booting with a kernel that does not do a PCI reset yields the
  following topology:

<snip cmd="lspci -vt">
-[0000:00] -
 +-00.0  Intel Corporation 2nd Generation Core Processor Family DRAM
         Controller
 +-02.0  Intel Corporation 2nd Generation Core Processor Family
         Integrated Graphics Controller
 +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family MEI
         Controller #1
 +-19.0  Intel Corporation 82579LM Gigabit Network Connection
 +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family USB
         Enhanced Host Controller #2
 +-1b.0  Intel Corporation 6 Series/C200 Series Chipset Family High
         Definition Audio Controller
 +-1c.0-[02]--
 +-1c.1-[03]----00.0  Intel Corporation Centrino Advanced-N 6205
                      [Taylor Peak]
 +-1c.3-[05-0c]----00.0  Renesas Technology Corp. uPD720202 USB 3.0
                         Host Controller
 +-1c.4-[0d]----00.0  Ricoh Co Ltd MMC/SD Host Controller
 +-1d.0  Intel Corporation 6 Series/C200 Series Chipset Family USB
         Enhanced Host Controller #1
 +-1f.0  Intel Corporation QM67 Express Chipset Family LPC Controller
 +-1f.2  Intel Corporation 6 Series/C200 Series Chipset Family 6 port
         SATA AHCI Controller
 \-1f.3  Intel Corporation 6 Series/C200 Series Chipset Family SMBus
         Controller
</snip>

Unplugging and replugging the card (regardless of the kernel version)
or booting with a kernel that does the reset leads to the card not
being correctly recognized and the problems I have observed.

<snip cmd="lspci -vt">
-[0000:00]-
 +-00.0  Intel Corporation 2nd Generation Core Processor Family DRAM
         Controller
 +-02.0  Intel Corporation 2nd Generation Core Processor Family
         Integrated Graphics Controller
 +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family MEI
         Controller #1
 +-19.0  Intel Corporation 82579LM Gigabit Network Connection
 +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family USB
         Enhanced Host Controller #2
 +-1b.0  Intel Corporation 6 Series/C200 Series Chipset Family High
         Definition Audio Controller
 +-1c.0-[02]--
 +-1c.1-[03]----00.0  Intel Corporation Centrino Advanced-N 6205
                      [Taylor Peak]
 +-1c.3-[05-0c]--
 +-1c.4-[0d]----00.0  Ricoh Co Ltd MMC/SD Host Controller
 +-1d.0  Intel Corporation 6 Series/C200 Series Chipset Family USB
         Enhanced Host Controller #1
 +-1f.0  Intel Corporation QM67 Express Chipset Family LPC Controller
 +-1f.2  Intel Corporation 6 Series/C200 Series Chipset Family 6 port
         SATA AHCI Controller
 \-1f.3  Intel Corporation 6 Series/C200 Series Chipset Family SMBus
         Controller
</snip>

Cheers
  Albert :)


On Mon, 2017-09-18 at 09:15 +0100, Marc Zyngier wrote:
> Hi Albert,
> 
> On 17/09/17 13:39, Albert Weichselbraun wrote:
> > Dear all,
> > 
> > I ran into a regression with an ExpressCard/54 USB 3.0 expansion
> > card
> > that uses the Renesas uPD72020x chipset on a Lenovo X220i Laptop
> > (the
> > described behavior has been reproduced with kernel versions 4.12.8,
> > 4.12.13, 4.13.1 and 4.13.2).
> > 
> > Once booting such a kernel, the system becomes very sluggish with
> > considerable mouse pointer delays that are followed by display
> > driver
> > errors such as
> >  - pipe A vblank wait timed out
> >  - pipe B vblank wait timed out
> > after some minutes.
> > 
> > Please refer to 
> >   https://weichselbraun.net/tmp/dmesg-pipe-a-vblank-timeout.log
> >   https://weichselbraun.net/tmp/dmesg-pipe-b-vblank-timeout.log
> > for the corresponding log messages.
> > 
> > Removing the expansion card or booting with a pre 4.12.8 kernel
> > resolves the issue.
> > 
> > I traced the problem back to the following patch that has been
> > introduced in 4.12.8 and seems to force a PCI reset on the device. 
> > 
> 
> [...]
> 
> > What seems to happen on my machine is that the reset fails leaving
> > the
> > device in an undefined state:
> > 
> > <snip>
> > Sep 17 08:35:19 trinity kernel: [    2.874329] xhci_hcd
> > 0000:05:00.0: 
> >   xHCI host controller not responding, assume dead
> > Sep 17 08:35:19 trinity kernel: [    2.874341] xhci_hcd
> > 0000:05:00.0: 
> >   remove, state 1
> > Sep 17 08:35:19 trinity kernel: [    2.874350] usb usb4: USB 
> >   disconnect, device number 1
> > Sep 17 08:35:19 trinity kernel: [    2.874608] xhci_hcd
> > 0000:05:00.0: 
> >   USB bus 4 deregistered
> > Sep 17 08:35:19 trinity kernel: [    2.875433] xhci_hcd
> > 0000:05:00.0: 
> >   remove, state 1
> > Sep 17 08:35:19 trinity kernel: [    2.875440] usb usb3: USB 
> >   disconnect, device number 1
> > Sep 17 08:35:19 trinity kernel: [    2.875535] clocksource:
> > Switched
> > to 
> >   clocksource tsc
> > Sep 17 08:35:19 trinity kernel: [    2.875769] xhci_hcd
> > 0000:05:00.0: 
> >   Host halt failed, -19
> > Sep 17 08:35:19 trinity kernel: [    2.875777] xhci_hcd
> > 0000:05:00.0: 
> >   Host not accessible, reset failed.
> > Sep 17 08:35:19 trinity kernel: [    2.876148] xhci_hcd
> > 0000:05:00.0: 
> >   USB bus 3 deregistered
> > </snip>
> > 
> > The full dmesg output is available at
> >   https://weichselbraun.net/tmp/dmesg-4.13.2-unpatched
> > 
> > Reverting the changes (tested on 4.12.8, 4.13.1 and 4.13.2) solves
> > this
> > issue on my system.  
> >   https://weichselbraun.net/tmp/dmesg-4.13.2-patched
> >  
> > lspci:
> >   05:00.0 USB controller: Renesas Technology Corp. uPD720202 USB
> > 3.0 
> >     Host Controller (rev 02)
> > 
> > Please let me know if there is any additional information I can
> > provide
> > to help narrowing this down.
> 
> Thanks for the detailed report.
> 
> I wonder if the hotplug nature of the card could be playing some
> tricks
> on us, and the PCI reset nuking some otherwise important programming
> that are relevant to the ExpressCard bridge.
> 
> Do you get the same effect if you're plugging the card after the
> system
> has booted? Could you please post your full PCI topology (lspci -vt)?
> 
> Thanks,
> 
> 	M.

Attachment: signature.asc
Description: This is a digitally signed message part


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

  Powered by Linux