]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
SCSI: enclosure: fix error path - actually return ERR_PTR() on error
authorJames Bottomley <James.Bottomley@suse.de>
Fri, 12 Mar 2010 22:14:42 +0000 (16:14 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 10 Aug 2010 16:52:55 +0000 (09:52 -0700)
commit a91c1be21704113b023919826c6d531da46656ef upstream.

we also need to clean up and free the cdev.

Reported-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/misc/enclosure.c

index 0736cff9d97a2c7499b4c91eaf30beac046ad9b6..f57abe84dde7f64d3060093649420c8c1f7737bc 100644 (file)
@@ -264,8 +264,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;
 }