Linux-USB Archive on lore.kernel.org
 help / color / Atom feed
From: Felipe Balbi <felipe.balbi@linux.intel.com>
To: Kai Heng Feng <kai.heng.feng@canonical.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: Fri, 19 Jul 2019 13:51:14 +0300
Message-ID: <87blxqs3fh.fsf@linux.intel.com> (raw)
In-Reply-To: <77580193-D67B-48B1-8528-03ED4E7E8D64@canonical.com>

[-- Attachment #1: Type: text/plain, Size: 3827 bytes --]


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.

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?

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?

Best regards

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply index

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-09 13:10 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 [this message]
2019-07-22  9:44         ` Kai-Heng Feng
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 publically 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=87blxqs3fh.fsf@linux.intel.com \
    --to=felipe.balbi@linux.intel.com \
    --cc=kai.heng.feng@canonical.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

Linux-USB Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \
		linux-usb@vger.kernel.org
	public-inbox-index linux-usb

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git