From: James Bottomley Date: Fri, 12 Mar 2010 22:14:42 +0000 (-0600) Subject: SCSI: enclosure: fix error path - actually return ERR_PTR() on error X-Git-Tag: firefly_0821_release~10186^2~1245 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0c7607070fcdb517a4f315b2150a2d05b6b00e7c;p=firefly-linux-kernel-4.4.55.git SCSI: enclosure: fix error path - actually return ERR_PTR() on error commit a91c1be21704113b023919826c6d531da46656ef upstream. we also need to clean up and free the cdev. Reported-by: Jani Nikula Signed-off-by: James Bottomley Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c index 1eac626e710a..68e4cd7d321a 100644 --- a/drivers/misc/enclosure.c +++ b/drivers/misc/enclosure.c @@ -284,8 +284,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; }