aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/firmware_class.c6
-rw-r--r--drivers/base/power/main.c1
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index ddeb819c8f87..fc466531260e 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -357,7 +357,7 @@ static void fw_dev_release(struct device *dev)
357 kfree(fw_priv->pages); 357 kfree(fw_priv->pages);
358 kfree(fw_priv->fw_id); 358 kfree(fw_priv->fw_id);
359 kfree(fw_priv); 359 kfree(fw_priv);
360 put_device(dev); 360 kfree(dev);
361 361
362 module_put(THIS_MODULE); 362 module_put(THIS_MODULE);
363} 363}
@@ -408,13 +408,11 @@ static int fw_register_device(struct device **dev_p, const char *fw_name,
408 if (retval) { 408 if (retval) {
409 dev_err(device, "%s: device_register failed\n", __func__); 409 dev_err(device, "%s: device_register failed\n", __func__);
410 put_device(f_dev); 410 put_device(f_dev);
411 goto error_kfree_fw_id; 411 return retval;
412 } 412 }
413 *dev_p = f_dev; 413 *dev_p = f_dev;
414 return 0; 414 return 0;
415 415
416error_kfree_fw_id:
417 kfree(fw_priv->fw_id);
418error_kfree: 416error_kfree:
419 kfree(f_dev); 417 kfree(f_dev);
420 kfree(fw_priv); 418 kfree(fw_priv);
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index fae725458981..58a3e572f2c9 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -762,6 +762,7 @@ static int dpm_prepare(pm_message_t state)
762 dev->power.status = DPM_ON; 762 dev->power.status = DPM_ON;
763 if (error == -EAGAIN) { 763 if (error == -EAGAIN) {
764 put_device(dev); 764 put_device(dev);
765 error = 0;
765 continue; 766 continue;
766 } 767 }
767 printk(KERN_ERR "PM: Failed to prepare device %s " 768 printk(KERN_ERR "PM: Failed to prepare device %s "