]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: dwc: Return -EIO from dw_pcie_wait_for_link() if device is not active
authorManivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Tue, 20 Jan 2026 17:47:41 +0000 (23:17 +0530)
committerManivannan Sadhasivam <mani@kernel.org>
Wed, 21 Jan 2026 09:15:11 +0000 (14:45 +0530)
commit01d16b8afb7afcc17f999f8b4a9b9cfe6c6fae71
tree6d20119b38e98228c348a5e4b9d2745ceaceaa07
parent1bcf245c837bc66fdaddea222bab9eb5c978a9d7
PCI: dwc: Return -EIO from dw_pcie_wait_for_link() if device is not active

There are cases where the PCIe device would be physically connected to the
bus, but the device firmware might not be active. So the LTSSM will
get stuck in POLL.{Active/Compliance} states.

This behavior is common with endpoint devices controlled by the PCI
Endpoint framework, where the device will wait for the user to start its
operation through configfs.

For those cases, print the relevant log and return -EIO to indicate that
the device is present, but not active. This will allow the callers to skip
the failure as the device might become active in the future.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260120-pci-dwc-suspend-rework-v4-2-2f32d5082549@oss.qualcomm.com
drivers/pci/controller/dwc/pcie-designware.c