]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Mon, 13 Feb 2023 14:49:22 +0000 (20:19 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:40 +0000 (13:55 +0100)
commit064a39534a808d76338074917dfc0e775fd694b0
treed90e97a9d44931bb21562bf96adf88fb9feee32f
parent15a1415e4cdd49696f5a4df231a88d7d0f279f19
PCI: pciehp: Add Qualcomm quirk for Command Completed erratum

[ Upstream commit a2437d23b346fc5d40d4f1c1d90102439c3c2d77 ]

The Qualcomm PCI bridge device (Device ID 0x010e) found in chipsets such as
SC8280XP used in Lenovo Thinkpad X13s, does not set the Command Completed
bit unless writes to the Slot Command register change "Control" bits.

This results in timeouts like below during boot and resume from suspend:

  pcieport 0002:00:00.0: pciehp: Timeout on hotplug command 0x03c0 (issued 2020 msec ago)
  ...
  pcieport 0002:00:00.0: pciehp: Timeout on hotplug command 0x13f1 (issued 107724 msec ago)

Add the device to the Command Completed quirk to mark commands "completed"
immediately unless they change the "Control" bits.

Link: https://lore.kernel.org/r/20230213144922.89982-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/hotplug/pciehp_hpc.c