#define info(format, arg...) printk(KERN_INFO "%s: " format, MY_NAME , ## arg)
 #define warn(format, arg...) printk(KERN_WARNING "%s: " format, MY_NAME , ## arg)
 
+#define SLOT_NAME_SIZE 10
 struct slot {
        u8 bus;
        u8 device;
        struct hpc_ops *hpc_ops;
        struct hotplug_slot *hotplug_slot;
        struct list_head        slot_list;
+       char name[SLOT_NAME_SIZE];
 };
 
 struct event_info {
 
        dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name);
 
        kfree(slot->hotplug_slot->info);
-       kfree(slot->hotplug_slot->name);
        kfree(slot->hotplug_slot);
        kfree(slot);
 }
 
-#define SLOT_NAME_SIZE 10
 static void make_slot_name(struct slot *slot)
 {
        snprintf(slot->hotplug_slot->name, SLOT_NAME_SIZE, "%04d_%04d",
        struct slot *slot;
        struct hotplug_slot *hotplug_slot;
        struct hotplug_slot_info *info;
-       char *name;
        int retval = -ENOMEM;
        int i;
        u32 sun;
                        goto error_hpslot;
                hotplug_slot->info = info;
 
-               name = kmalloc(SLOT_NAME_SIZE, GFP_KERNEL);
-               if (!name)
-                       goto error_info;
-               hotplug_slot->name = name;
+               hotplug_slot->name = slot->name;
 
                slot->hp_slot = i;
                slot->ctrl = ctrl;
 
                if (shpchprm_get_physical_slot_number(ctrl, &sun,
                                                      slot->bus, slot->device))
-                       goto error_name;
+                       goto error_info;
 
                slot->number = sun;
 
                retval = pci_hp_register(slot->hotplug_slot);
                if (retval) {
                        err("pci_hp_register failed with error %d\n", retval);
-                       goto error_name;
+                       goto error_info;
                }
 
                list_add(&slot->slot_list, &ctrl->slot_list);
        }
 
        return 0;
-error_name:
-       kfree(name);
 error_info:
        kfree(info);
 error_hpslot: