linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / pci / hotplug / ibmphp_core.c
index e13d5b8..dc59da6 100644 (file)
@@ -1141,7 +1141,7 @@ static int enable_slot(struct hotplug_slot *hs)
                goto error_power;
        }
 
-       slot_cur->func = kzalloc(sizeof(struct pci_func), GFP_KERNEL);
+       slot_cur->func = kmalloc(sizeof(struct pci_func), GFP_KERNEL);
        if (!slot_cur->func) {
                /* We cannot do update_slot_info here, since no memory for
                 * kmalloc n.e.ways, and update_slot_info allocates some */
@@ -1149,6 +1149,7 @@ static int enable_slot(struct hotplug_slot *hs)
                rc = -ENOMEM;
                goto error_power;
        }
+       memset(slot_cur->func, 0, sizeof(struct pci_func));
        slot_cur->func->busno = slot_cur->bus;
        slot_cur->func->device = slot_cur->device;
        for (i = 0; i < 4; i++)
@@ -1239,9 +1240,9 @@ int ibmphp_do_disable_slot(struct slot *slot_cur)
        }
        
        flag = slot_cur->flag;
-       slot_cur->flag = 1;
+       slot_cur->flag = TRUE;
 
-       if (flag == 1) {
+       if (flag == TRUE) {
                rc = validate(slot_cur, DISABLE);
                        /* checking if powered off already & valid slot # */
                if (rc)
@@ -1251,12 +1252,13 @@ int ibmphp_do_disable_slot(struct slot *slot_cur)
 
        if (slot_cur->func == NULL) {
                /* We need this for fncs's that were there on bootup */
-               slot_cur->func = kzalloc(sizeof(struct pci_func), GFP_KERNEL);
+               slot_cur->func = kmalloc(sizeof(struct pci_func), GFP_KERNEL);
                if (!slot_cur->func) {
                        err("out of system memory\n");
                        rc = -ENOMEM;
                        goto error;
                }
+               memset(slot_cur->func, 0, sizeof(struct pci_func));
                slot_cur->func->busno = slot_cur->bus;
                slot_cur->func->device = slot_cur->device;
        }