From: Kai-Heng Feng <kai.heng.feng@canonical.com>
To: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: Oliver Neukum <oneukum@suse.com>,
Mathias Nyman <mathias.nyman@linux.intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Kent Lin <kent.lin@canonical.com>,
Linux PCI <linux-pci@vger.kernel.org>,
Linux USB List <linux-usb@vger.kernel.org>
Subject: Re: Titan Ridge xHCI may stop to working after re-plugging the dock
Date: Mon, 22 Jul 2019 17:44:09 +0800 [thread overview]
Message-ID: <749516DB-65B6-4D59-8C77-7883649D1F25@canonical.com> (raw)
In-Reply-To: <87blxqs3fh.fsf@linux.intel.com>
Hi Felipe,
at 18:51, Felipe Balbi <felipe.balbi@linux.intel.com> wrote:
>
> Hi,
>
> Kai Heng Feng <kai.heng.feng@canonical.com> writes:
>>> Oliver Neukum <oneukum@suse.com> writes:
>>>> Am Dienstag, den 09.07.2019, 21:10 +0800 schrieb Kai-Heng Feng:
>>>>> Hi Mika and Mathias,
>>>>>
>>>>> I’ve filed a bug [1] which renders docking station unusable.
>>>>>
>>>>> I am not sure it's a bug in PCI, Thunderbolt or xHCI so raise the issue
>>>>> to
>>>>> you both.
>>>>>
>>>>> [1] https://bugzilla.kernel.org/show_bug.cgi?id=203885
>>>>>
>>>>> Kai-Heng
>>>>
>>>> The issue starts before you unplug. In fact it starts before
>>>> the dock is even detected the first time:
>>>>
>>>> [ 13.171167] rfkill: input handler disabled
>>>> [ 19.781905] pcieport 0000:00:1c.0: PME: Spurious native interrupt!
>>>> [ 19.781909] pcieport 0000:00:1c.0: PME: Spurious native interrupt!
>>>> [ 20.109251] usb 4-1: new SuperSpeedPlus Gen 2 USB device number 2
>>>> using xhci_hcd
>>>> [ 20.136000] usb 4-1: New USB device found, idVendor=0bda,
>>>> idProduct=0487, bcdDevice= 1.47
>>>> [ 20.136004] usb 4-1: New USB device strings: Mfr=1, Product=2,
>>>> SerialNumber=0
>>>> [ 20.136007] usb 4-1: Product: Dell dock
>>>> [ 20.136009] usb 4-1: Manufacturer: Dell Inc.
>>>> [ 20.140607] hub 4-1:1.0: USB hub found
>>>> [ 20.141004] hub 4-1:1.0: 4 ports detected
>>>> [ 20.253025] usb 1-4: new high-speed USB device number 5 using
>>>> xhci_hcd
>>>> [ 20.403520] usb 1-4: New USB device found, idVendor=0bda,
>>>> idProduct=5487, bcdDevice= 1.47
>>>> [ 20.403521] usb 1-4: New USB device strings: Mfr=1, Product=2,
>>>> SerialNumber=0
>>>> [ 20.403522] usb 1-4: Product: Dell dock
>>>> [ 20.403522] usb 1-4: Manufacturer: Dell Inc.
>>>> [ 20.404348] hub 1-4:1.0: USB hub found
>>>>
>>>> This looks like a PCI issue.
>>>> In general, this kind of reporting sucks. We have to guess what you did
>>>> at 19.781905
>>>
>>> It might be nice to know which device is generating that and why it's
>>> not found. This may help:
>>>
>>> diff --git a/drivers/pci/pcie/pme.c b/drivers/pci/pcie/pme.c
>>> index f38e6c19dd50..33285ef29362 100644
>>> --- a/drivers/pci/pcie/pme.c
>>> +++ b/drivers/pci/pcie/pme.c
>>> @@ -203,7 +203,7 @@ static void pcie_pme_handle_request(struct pci_dev
>>> *port, u16 req_id)
>>>
>>> out:
>>> if (!found)
>>> - pci_info(port, "Spurious native interrupt!\n");
>>> + pci_info(port, "Spurious native interrupt! (Bus# %d DevFn
>>> %d)\n", busnr, devfn);
>>> }
>>>
>>> /**
>>>
>>>
>>> Also, according to what Kai-Heng said, xHCI stops working even after
>>> repluggin the Dock. We could be dealing with two bugs here:
>>>
>>> 1. Spurious PME event being generated by an unexistent device
>>> 2. xHCI not handling hot-plug very well
>>>
>>> Kai-Heng,
>>>
>>> please run your tests again and make note of when you unplugged the dock
>>> and when you replugged it so we can correlate the time stampts with what
>>> you have done otherwise we will never be able to pin-point what's going
>>> on.
>>
>> I upgraded the system firmware, TBT firmware and docking station firmware
>> to latest, and used latest mainline kernel.
>> Now the issue can be reproduced at the very first time I plugged the
>> docking station.
>>
>> Attach dmesg to BKO since there are lots of message after XHCI dyndbg is
>> enabled.
>
> I saw that you annotated the plug, but not the unplug. Where does the
> unplug start? There are many places where it could be, but I need to be
> sure.
Request log attached to Bugzilla.
>
> Also, wasn't it so that the problem is when you *replug* the dock? So
> can you better describe what you're doing? Are you booting with dock
> connected then disconnect and reconnect or are you booting without dock
> and it fails on first plug?
The weird behavior I described in my previous replay is because the devices
need to be fully power cycled after firmware upgrade.
So it’s false alarm.
The only issue now is the original bug.
>
> What are you consider a fail here? Can't you see the xhci bus? USB
> Devices don't show? What do you have on lsusb -t?
The 0000:39:00.0 xHCI stops working, so the USB ethernet (r8152) connects
to it doesn’t work anymore.
Normal case:
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 3: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 5: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 4: Dev 7, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 3, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 5: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 9: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 10: Dev 5, If 2, Class=Chip/SmartCard, Driver=, 480M
|__ Port 10: Dev 5, If 0, Class=Application Specific Interface, Driver=, 480M
|__ Port 10: Dev 5, If 3, Class=Vendor Specific Class, Driver=, 480M
|__ Port 10: Dev 5, If 1, Class=Chip/SmartCard, Driver=, 480M
|__ Port 11: Dev 8, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 11: Dev 8, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 14: Dev 10, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 14: Dev 10, If 1, Class=Wireless, Driver=btusb, 12M
Once the issue occurs:
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 5: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 4: Dev 7, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 3, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 5: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 9: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 10: Dev 5, If 2, Class=Chip/SmartCard, Driver=, 480M
|__ Port 10: Dev 5, If 0, Class=Application Specific Interface, Driver=, 480M
|__ Port 10: Dev 5, If 3, Class=Vendor Specific Class, Driver=, 480M
|__ Port 10: Dev 5, If 1, Class=Chip/SmartCard, Driver=, 480M
|__ Port 11: Dev 8, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 11: Dev 8, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 14: Dev 10, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 14: Dev 10, If 1, Class=Wireless, Driver=btusb, 12M
So we don’t have USB ethernet anymore.
Kai-Heng
>
> Best regards
>
> --
> balbi
next prev parent reply other threads:[~2019-07-22 9:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 13:10 Titan Ridge xHCI may stop to working after re-plugging the dock Kai-Heng Feng
2019-07-10 11:49 ` Oliver Neukum
2019-07-19 7:23 ` Felipe Balbi
2019-07-19 10:29 ` Kai Heng Feng
2019-07-19 10:51 ` Felipe Balbi
2019-07-22 9:44 ` Kai-Heng Feng [this message]
2019-07-24 14:45 ` Mathias Nyman
2019-07-25 13:24 ` Kai-Heng Feng
2019-08-13 6:50 ` Kai-Heng Feng
2019-08-14 13:34 ` Mathias Nyman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=749516DB-65B6-4D59-8C77-7883649D1F25@canonical.com \
--to=kai.heng.feng@canonical.com \
--cc=felipe.balbi@linux.intel.com \
--cc=kent.lin@canonical.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=oneukum@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).