@@ -318,15 +318,16 @@ static struct pci_ide_partner *to_settings(struct pci_dev *pdev, struct pci_ide
return NULL;
}
return &ide->partner[PCI_IDE_EP];
- case PCI_EXP_TYPE_ROOT_PORT:
+ case PCI_EXP_TYPE_ROOT_PORT: {
struct pci_dev *rp = pcie_find_root_port(ide->pdev);
- if (pdev != pcie_find_root_port(ide->pdev)) {
+ if (pdev != rp) {
pci_warn_once(pdev, "setup expected Root Port: %s\n",
pci_name(rp));
return NULL;
}
return &ide->partner[PCI_IDE_RP];
+ }
default:
pci_warn_once(pdev, "invalid device type\n");
return NULL;
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> --- drivers/pci/ide.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)