Commit 87620512681a ("PCI: apple: Fix PERST# polarity") switched the PERST# polarity by annotaing its GPIO as active low in the device tree via [1]. It missed to update gpiod_get()'s flags to GPIOD_OUT_HIGH resulting in deasserting PERST# through gpiod initialization. The Aquantia AQC113 10GB ethernet device used in some Apple silicon desktop does not finish link training with this additional PERST# deassert before the usual PERST# dance. Link: https://lore.kernel.org/linux-pci/20211123180636.80558-1-maz@kernel.org/ [1] Fixes: 87620512681a ("PCI: apple: Fix PERST# polarity") Cc: stable@vger.kernel.org Signed-off-by: Janne Grunau --- This issue affects only a single PCIe devices of the handful of built-in devices integrated in Apple silicon devices. It is usually hidden by u-boot's initialisation of PCIe devices. --- drivers/pci/controller/pcie-apple.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c index c2cffc0659f4..a7f327803060 100644 --- a/drivers/pci/controller/pcie-apple.c +++ b/drivers/pci/controller/pcie-apple.c @@ -562,7 +562,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie, int ret, i; reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset", - GPIOD_OUT_LOW, "PERST#"); + GPIOD_OUT_HIGH, "PERST#"); if (IS_ERR(reset)) return PTR_ERR(reset); --- base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222 change-id: 20261024-pcie-apple-perst-gpiod-init-b602ee4dca46 Best regards, -- Janne Grunau