diff options
| -rw-r--r-- | drivers/misc/enclosure.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c index 48c84a58163..00e5fcac8fd 100644 --- a/drivers/misc/enclosure.c +++ b/drivers/misc/enclosure.c @@ -285,8 +285,11 @@ enclosure_component_register(struct enclosure_device *edev,  	cdev->groups = enclosure_groups;  	err = device_register(cdev); -	if (err) -		ERR_PTR(err); +	if (err) { +		ecomp->number = -1; +		put_device(cdev); +		return ERR_PTR(err); +	}  	return ecomp;  }  |