The logic checks can be simplified in find_bus_resource_of_type() by
reordering them.

Signed-off-by: Ilpo Järvinen <ilpo.jarvi...@linux.intel.com>
---
 drivers/pci/setup-bus.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 4097d8703b8f..c5fc4e2825be 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -158,11 +158,15 @@ static struct resource *find_bus_resource_of_type(struct 
pci_bus *bus,
        struct resource *r, *r_assigned = NULL;
 
        pci_bus_for_each_resource(bus, r) {
-               if (r == &ioport_resource || r == &iomem_resource)
+               if (!r || r == &ioport_resource || r == &iomem_resource)
                        continue;
-               if (r && (r->flags & type_mask) == type && !r->parent)
+
+               if ((r->flags & type_mask) != type)
+                       continue;
+
+               if (!r->parent)
                        return r;
-               if (r && (r->flags & type_mask) == type && !r_assigned)
+               if (!r_assigned)
                        r_assigned = r;
        }
        return r_assigned;
-- 
2.39.5


Reply via email to