]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: keystone: Fix if-statement expression in ks_pcie_quirk()
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 19 Jul 2024 23:53:26 +0000 (18:53 -0500)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Tue, 13 Aug 2024 20:07:58 +0000 (20:07 +0000)
This code accidentally uses && where || was intended.  It potentially
results in a NULL dereference.

Thus, fix the if-statement expression to use the correct condition.

Fixes: 86f271f22bbb ("PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)")
Link: https://lore.kernel.org/linux-pci/1b762a93-e1b2-4af3-8c04-c8843905c279@stanley.mountain
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
drivers/pci/controller/dwc/pci-keystone.c

index 52c6420ae2003cd9d03d128b52bd02fd50c470a5..95a471d6a586d925533e5dc2d0e24ec576034a2a 100644 (file)
@@ -577,7 +577,7 @@ static void ks_pcie_quirk(struct pci_dev *dev)
         */
        if (pci_match_id(am6_pci_devids, bridge)) {
                bridge_dev = pci_get_host_bridge_device(dev);
-               if (!bridge_dev && !bridge_dev->parent)
+               if (!bridge_dev || !bridge_dev->parent)
                        return;
 
                ks_pcie = dev_get_drvdata(bridge_dev->parent);