summaryrefslogtreecommitdiff
path: root/drivers/base/core.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-06-11 09:01:14 +0300
committerPaul Mundt <lethal@linux-sh.org>2009-06-11 09:01:14 +0300
commitcf9fe114e3b37e14fc8434d5abb192e35df551b1 (patch)
tree0f82879295dc792f9df1a3ce79e143a3c073510f /drivers/base/core.c
parentc1d0d32a603ed06377f404adf2c538de33bb3634 (diff)
parent991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d (diff)
downloadlinux-rt-cf9fe114e3b37e14fc8434d5abb192e35df551b1.tar.gz
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 4aa527b8a913..1977d4beb89e 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -879,7 +879,7 @@ int device_add(struct device *dev)
}
if (!dev_name(dev))
- goto done;
+ goto name_error;
pr_debug("device: '%s': %s\n", dev_name(dev), __func__);
@@ -978,6 +978,9 @@ done:
cleanup_device_parent(dev);
if (parent)
put_device(parent);
+name_error:
+ kfree(dev->p);
+ dev->p = NULL;
goto done;
}