tpm_crb: tpm2_shutdown() must be called before tpm_chip_unregister()
authorJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Thu, 18 Feb 2016 20:11:29 +0000 (22:11 +0200)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Sat, 20 Feb 2016 07:59:33 +0000 (09:59 +0200)
Wrong call order.

Reported-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Fixes: 74d6b3ceaa17
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
cc: stable@vger.kernel.org

drivers/char/tpm/tpm_crb.c

index 9eb0404..a12b319 100644 (file)
@@ -344,11 +344,11 @@ static int crb_acpi_remove(struct acpi_device *device)
        struct device *dev = &device->dev;
        struct tpm_chip *chip = dev_get_drvdata(dev);
 
-       tpm_chip_unregister(chip);
-
        if (chip->flags & TPM_CHIP_FLAG_TPM2)
                tpm2_shutdown(chip, TPM2_SU_CLEAR);
 
+       tpm_chip_unregister(chip);
+
        return 0;
 }