pciexp: Move PCI path check one level up to pciexp_enable_ltr()

If we have a PCIe root port without `ops_pci` or without
`get_ltr_max_latencies`, the parent device wouldn't be PCI.
Hence, check for a PCI path early.

Change-Id: I358cb6756750bb10d0a23ab7133b917bfa25988b
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66845
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/src/device/pciexp_device.c b/src/device/pciexp_device.c
index 449315b..c8ac391 100644
--- a/src/device/pciexp_device.c
+++ b/src/device/pciexp_device.c
@@ -211,8 +211,7 @@
 		return true;
 
 	if (parent &&
-	    (parent->path.type != DEVICE_PATH_PCI ||
-	     !_pciexp_ltr_supported(parent, parent_cap) ||
+	    (!_pciexp_ltr_supported(parent, parent_cap) ||
 	     !_pciexp_ltr_enabled(parent, parent_cap)))
 		return false;
 
@@ -235,6 +234,8 @@
 	unsigned int parent_cap = 0;
 	if (!dev->ops->ops_pci || !dev->ops->ops_pci->get_ltr_max_latencies) {
 		parent = dev->bus->dev;
+		if (parent->path.type != DEVICE_PATH_PCI)
+			return;
 		parent_cap = pci_find_capability(parent, PCI_CAP_ID_PCIE);
 		if (!parent_cap)
 			return;