tpm: Properly clean sysfs entries in error path
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Thu, 19 Jun 2014 19:00:19 +0000 (15:00 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Sep 2014 16:19:08 +0000 (09:19 -0700)
commit b49e1043c48dac23f64fba684d31c4a96c1ffaa0 upstream.

Properly clean the sysfs entries in the error path

Reported-by: Dmitry Kasatkin <dmitry.kasatkin@gmail.com>
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/tpm/tpm-interface.c

index 60e64ec..6af1700 100644 (file)
@@ -1116,7 +1116,7 @@ struct tpm_chip *tpm_register_hardware(struct device *dev,
                goto del_misc;
 
        if (tpm_add_ppi(&dev->kobj))
-               goto del_misc;
+               goto del_sysfs;
 
        chip->bios_dir = tpm_bios_log_setup(chip->devname);
 
@@ -1127,6 +1127,8 @@ struct tpm_chip *tpm_register_hardware(struct device *dev,
 
        return chip;
 
+del_sysfs:
+       tpm_sysfs_del_device(chip);
 del_misc:
        tpm_dev_del_device(chip);
 put_device: