Re: [RFC PATCH] PCI: pciehp: Add module parameter to enable debouncing of HP link events

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

 



On 02.02.2018 14:47, Lukas Wunner wrote:
On Fri, Feb 02, 2018 at 02:38:34PM +0100, Stefan Roese wrote:
On Tue, Jan 30, 2018 at 09:41:21AM +0100, Stefan Roese wrote:
Hotplugging of some PCIe devices on our platform sometimes leads to a
bounce of link-up and link-down events, resulting in problems in the
corresponding PCI drivers.

Here an example of such a hotplug event bounce for a AHCI PCIe card:
...
pciehp 0000:00:1c.1:pcie004: Slot(1): Card present
pciehp 0000:00:1c.1:pcie004: Slot(1): Link Up
pciehp 0000:00:1c.1:pcie004: Slot(1): Link Up event ignored; already powering on
pciehp 0000:00:1c.1:pcie004: Slot(1): Link Down
pciehp 0000:00:1c.1:pcie004: Slot(1): Card present
pciehp 0000:00:1c.1:pcie004: Slot(1): Link Up

I'm open for other / better ideas on how to solve this situation, we
are seeing on our systems.

If a Link Up event is received and there is already a Link Up / Link Down
pair in the queue, the Link Down event can be dequeued and the newly
received Link Up event need not be queued.

Same if a Link Down event is received and there is already a Link Down /
Link Up pair in the queue.

Makes sense. But I'm more often seeing this sequence here while
hot-plugging the PCIe card:

[   41.260667] pciehp 0000:00:1c.1:pcie004: Slot(1): Card present
[   41.260731] pciehp 0000:00:1c.1:pcie004: Slot(1): Link Up
[   41.290650] pciehp 0000:00:1c.1:pcie004: Slot(1): Link Down
[   41.295837] pciehp 0000:00:1c.1:pcie004: Slot(1): Card present
[   41.320664] pciehp 0000:00:1c.1:pcie004: Slot(1): Card not present
[   41.330042] pciehp 0000:00:1c.1:pcie004: Slot(1): Card present
[   41.330110] pciehp 0000:00:1c.1:pcie004: Slot(1): Link Up
[   41.375950] pci 0000:02:00.0: [1b4b:9215] type 00 class 0x010601
...

So a link-down is following the link-up directly (~30ms here). Sometimes
a double link-up is also seen. But this one is more frequent in my test
cases.

Thanks,
Stefan



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux