]> git.hungrycats.org Git - linux/commitdiff
[PATCH] 2.5.18 pci/setup-bus.c: incorrect BUG() calls
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>
Tue, 28 May 2002 10:04:43 +0000 (03:04 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 28 May 2002 10:04:43 +0000 (03:04 -0700)
Previously assigned resources are perfectly valid - just silently
ignore them.

drivers/pci/setup-bus.c

index 0e520ab1a3ca8d31f6628f244ba1c1479b176543..efa7fdded2c9bc69e967e941a20a37dfb5c76309 100644 (file)
@@ -228,10 +228,8 @@ pbus_size_io(struct pci_bus *bus)
                        struct resource *r = &dev->resource[i];
                        unsigned long r_size;
 
-                       if (!(r->flags & IORESOURCE_IO))
+                       if (r->parent || !(r->flags & IORESOURCE_IO))
                                continue;
-                       if (r->parent)
-                               BUG();
                        r_size = r->end - r->start + 1;
 
                        if (r_size < 0x400)
@@ -283,10 +281,8 @@ pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long type)
                        struct resource *r = &dev->resource[i];
                        unsigned long r_size;
 
-                       if ((r->flags & mask) != type)
+                       if (r->parent || (r->flags & mask) != type)
                                continue;
-                       if (r->parent)
-                               BUG();
                        r_size = r->end - r->start + 1;
                        /* For bridges size != alignment */
                        align = (i < PCI_BRIDGE_RESOURCES) ? r_size : r->start;