On Wednesday, February 11, 2009 12:13 pm Roel Kluin wrote: > Please review. Maybe the fix is to change the loop to > for (busnr = 0; busnr < end; busnr++) ? > -------------------->8----------------8<----------------------- > With for (busnr = 0; busnr <= end; busnr++) { ... } busnr reaches end + 1 > after the loop. so only then there is no free bus. > > Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> > --- > diff --git a/drivers/pci/hotplug/shpchp_pci.c > b/drivers/pci/hotplug/shpchp_pci.c index 138f161..aa315e5 100644 > --- a/drivers/pci/hotplug/shpchp_pci.c > +++ b/drivers/pci/hotplug/shpchp_pci.c > @@ -137,7 +137,7 @@ int __ref shpchp_configure_device(struct slot *p_slot) > busnr)) > break; > } > - if (busnr >= end) { > + if (busnr > end) { > ctrl_err(ctrl, > "No free bus for hot-added bridge\n"); > pci_dev_put(dev); Looks correct; cc'ing Taku-san to make sure (I've applied it to my linux-next branch in the meantime). Thanks, -- Jesse Barnes, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html