diff options
Diffstat (limited to 'drivers/base/core.c')
| -rw-r--r-- | drivers/base/core.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index 4aa527b8a91..1977d4beb89 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;  }  |