]> err.no Git - linux-2.6/blobdiff - drivers/pci/pci-driver.c
Merge branch 'upstream-fixes' into upstream
[linux-2.6] / drivers / pci / pci-driver.c
index eb5b50c8770c863c1c12e77dd8241ec09520885d..1456759936c59410f0af1aaab1d91d81c4e5f34f 100644 (file)
@@ -53,11 +53,10 @@ store_new_id(struct device_driver *driver, const char *buf, size_t count)
        if (fields < 0)
                return -EINVAL;
 
-       dynid = kmalloc(sizeof(*dynid), GFP_KERNEL);
+       dynid = kzalloc(sizeof(*dynid), GFP_KERNEL);
        if (!dynid)
                return -ENOMEM;
 
-       memset(dynid, 0, sizeof(*dynid));
        INIT_LIST_HEAD(&dynid->node);
        dynid->id.vendor = vendor;
        dynid->id.device = device;
@@ -272,10 +271,12 @@ static int pci_device_suspend(struct device * dev, pm_message_t state)
        struct pci_driver * drv = pci_dev->driver;
        int i = 0;
 
-       if (drv && drv->suspend)
+       if (drv && drv->suspend) {
                i = drv->suspend(pci_dev, state);
-       else
+               suspend_report_result(drv->suspend, i);
+       } else {
                pci_save_state(pci_dev);
+       }
        return i;
 }