diff -Nru a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c --- a/drivers/pci/hotplug/rpaphp_pci.c Sat Apr 24 03:59:57 2004 +++ b/drivers/pci/hotplug/rpaphp_pci.c Sat Apr 24 03:59:57 2004 @@ -175,6 +175,7 @@ pci_read_irq_line(dev); for (i = 0; i < PCI_NUM_RESOURCES; i++) { struct resource *r = &dev->resource[i]; + if (r->parent || !r->start || !r->flags) continue; rpaphp_claim_resource(dev, i); @@ -318,6 +319,7 @@ return 1; } + strcpy(slot->name, pci_name(slot->bridge)); /* find slot's pci_dev if it's not empty */ if (slot->hotplug_slot->info->adapter_status == EMPTY) { slot->state = EMPTY; /* slot is empty */ diff -Nru a/drivers/pci/hotplug/rpaphp_slot.c b/drivers/pci/hotplug/rpaphp_slot.c --- a/drivers/pci/hotplug/rpaphp_slot.c Sat Apr 24 03:59:57 2004 +++ b/drivers/pci/hotplug/rpaphp_slot.c Sat Apr 24 03:59:57 2004 @@ -83,9 +83,6 @@ { struct slot *slot; - dbg("Enter alloc_slot_struct(): dn->full_name=%s drc_index=0x%x drc_name=%s\n", - dn->full_name, drc_index, drc_name); - slot = kmalloc(sizeof (struct slot), GFP_KERNEL); if (!slot) return (NULL); @@ -128,8 +125,7 @@ slot->hotplug_slot->private = slot; slot->hotplug_slot->ops = &rpaphp_hotplug_slot_ops; slot->hotplug_slot->release = &rpaphp_release_slot; - dbg("Exit alloc_slot_struct(): slot->dn->full_name=%s drc_index=0x%x drc_name=%s\n", - slot->dn->full_name, slot->index, slot->name); + return (slot); } diff -Nru a/drivers/pci/hotplug/rpaphp_vio.c b/drivers/pci/hotplug/rpaphp_vio.c --- a/drivers/pci/hotplug/rpaphp_vio.c Sat Apr 24 03:59:57 2004 +++ b/drivers/pci/hotplug/rpaphp_vio.c Sat Apr 24 03:59:57 2004 @@ -94,6 +94,7 @@ slot->state = NOT_CONFIGURED; if (setup_vio_hotplug_slot_info(slot)) goto exit_rc; + strcpy(slot->name, slot->dev.vio_dev->dev.bus_id); info("%s: registered VIO device[name=%s vio_dev=%p]\n", __FUNCTION__, slot->name, slot->dev.vio_dev); rc = register_slot(slot);