Linux-PCI Archive on lore.kernel.org
 help / Atom feed
* [Bug report] PCIe NVME SSD hotplug surprise removal issue
@ 2019-01-10  8:17 Dongdong Liu
  2019-01-10 13:12 ` Dongdong Liu
  0 siblings, 1 reply; 2+ messages in thread
From: Dongdong Liu @ 2019-01-10  8:17 UTC (permalink / raw)
  To: bhelgaas, keith.busch, linux-pci

Hi Bjorn, Keith

The lspci -tv topology is as below.
  +-[0000:80]-+-00.0-[81]----00.0  Huawei Technologies Co., Ltd. Device 3714
  |           +-02.0-[82]----00.0  Huawei Technologies Co., Ltd. Device 3714
  |           +-04.0-[83]----00.0  Huawei Technologies Co., Ltd. Device 3714
  |           +-06.0-[84]----00.0  Huawei Technologies Co., Ltd. Device 3714
  |                   +-08.0-[|           +-0c.0-[86]--
  |           +-10.0-[87]----00.0  Huawei Technologies Co., Ltd. Device 3714

Then surprise removal 87:00.0 NVME SSD card. The issue is as below.
The SSD card is still present.

[  178.610064] pciehp 0000:80:10.0:pcie004: Slot(36): Link Down
[  178.725009] iommu: Removing device 0000:87:00.0 from group 12
[  178.731278] pciehp 0000:80:10.0:pcie004: Slot(36): Card present
[  180.731129] pcieport 0000:80:10.0: Data Link Layer Link Active not set in 1000 msec
[  182.243128] pciehp 0000:80:10.0:pcie004: Failed to check link status

Then lspci -s 80:10.0 -vvv|grep -i SltSta
SltSta:Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock
We can see the card is not present (PresDet-).

Data Link Layer State Changed (link down) event reported
prior to Presence Detect Changed (card is not present).
Current code pciehp_handle_presence_or_link_change() seems have such issue.

Any idea to resolve the issue.

Thanks,
Dongdong


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Bug report] PCIe NVME SSD hotplug surprise removal issue
  2019-01-10  8:17 [Bug report] PCIe NVME SSD hotplug surprise removal issue Dongdong Liu
@ 2019-01-10 13:12 ` Dongdong Liu
  0 siblings, 0 replies; 2+ messages in thread
From: Dongdong Liu @ 2019-01-10 13:12 UTC (permalink / raw)
  To: bhelgaas, keith.busch, linux-pci


The hotplug port's POWER_CTRL(ctrl) is false.
pciehp 0000:80:10.0:pcie004: Slot #36 AttnBtn- PwrCtrl- MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock- NoCompl- LLActRep+

Any suggestion will be appreciated.

Thanks,
Dongdong
ÔÚ 2019/1/10 16:17, Dongdong Liu дµÀ:
> Hi Bjorn, Keith
>
> The lspci -tv topology is as below.
>  +-[0000:80]-+-00.0-[81]----00.0  Huawei Technologies Co., Ltd. Device 3714
>  |           +-02.0-[82]----00.0  Huawei Technologies Co., Ltd. Device 3714
>  |           +-04.0-[83]----00.0  Huawei Technologies Co., Ltd. Device 3714
>  |           +-06.0-[84]----00.0  Huawei Technologies Co., Ltd. Device 3714
>  |                   +-08.0-[|           +-0c.0-[86]--
>  |           +-10.0-[87]----00.0  Huawei Technologies Co., Ltd. Device 3714
>
> Then surprise removal 87:00.0 NVME SSD card. The issue is as below.
> The SSD card is still present.
>
> [  178.610064] pciehp 0000:80:10.0:pcie004: Slot(36): Link Down
> [  178.725009] iommu: Removing device 0000:87:00.0 from group 12
> [  178.731278] pciehp 0000:80:10.0:pcie004: Slot(36): Card present
> [  180.731129] pcieport 0000:80:10.0: Data Link Layer Link Active not set in 1000 msec
> [  182.243128] pciehp 0000:80:10.0:pcie004: Failed to check link status
>
> Then lspci -s 80:10.0 -vvv|grep -i SltSta
> SltSta:Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock
> We can see the card is not present (PresDet-).
>
> Data Link Layer State Changed (link down) event reported
> prior to Presence Detect Changed (card is not present).
> Current code pciehp_handle_presence_or_link_change() seems have such issue.
>
> Any idea to resolve the issue.
>
> Thanks,
> Dongdong
>
>
> .
>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-10  8:17 [Bug report] PCIe NVME SSD hotplug surprise removal issue Dongdong Liu
2019-01-10 13:12 ` Dongdong Liu

Linux-PCI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-pci/0 linux-pci/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-pci linux-pci/ https://lore.kernel.org/linux-pci \
		linux-pci@vger.kernel.org linux-pci@archiver.kernel.org
	public-inbox-index linux-pci


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


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