]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: qcom: Advertise Hotplug Slot Capability with no Command Completion support
authorKrishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Sat, 14 Mar 2026 01:56:34 +0000 (07:26 +0530)
committerManivannan Sadhasivam <mani@kernel.org>
Thu, 26 Mar 2026 18:02:23 +0000 (23:32 +0530)
commit33a76fc3c3e61386524479b99f35423bd3d9a895
tree30b70d46e4d1c96abcf928d1bfff55335c0ad0c5
parent6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
PCI: qcom: Advertise Hotplug Slot Capability with no Command Completion support

Qcom PCIe Root Ports advertise hotplug capability in hardware, but do not
support hotplug command completion. As a result, the hotplug commands
issued by the pciehp driver never gets completion notification, leading to
repeated timeout warnings and multi-second delays during boot and
suspend/resume.

Commit a54db86ddc153 ("PCI: qcom: Do not advertise hotplug capability for
IPs v2.7.0 and v1.9.0") mistakenly assumed that the Root Ports doesn't
support Hotplug due to timeouts and disabled the Hotplug functionality
altogether. But the Root Ports does support reporting Hotplug events like
DL_Up/Down events.

So to fix the command completion timeout issues, just set the No Command
Completed Support (NCCS) bit and enable Hotplug in Slot Capability field
back.

Fixes: a54db86ddc153 ("PCI: qcom: Do not advertise hotplug capability for IPs v2.7.0 and v1.9.0")
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
[mani: renamed function, commit log and added comment]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Tested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> # Hamoa CRD, tunneled link
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://patch.msgid.link/20260314-hotplug-v1-1-96ac87d93867@oss.qualcomm.com
drivers/pci/controller/dwc/pcie-qcom.c