Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec03c50b authored by Stefan Berger's avatar Stefan Berger Committed by Jarkko Sakkinen
Browse files

tpm: Fix suspend regression



Fix the suspend regression due to the wrong way of retrieving the
chip structure. The suspend functions are attached to the hardware
device, not the chip and thus must rely on drvdata.

Fixes: e89f8b1ade9cc1a ("tpm: Remove all uses of drvdata from the TPM Core")
Reported-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
Signed-off-by: default avatarStefan Berger <stefanb@linux.vnet.ibm.com>
Tested-by: default avatarStefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Tested-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
Acked-by: default avatarJarkko Sakkinen <jarkko.sakkine@linux.intel.com>
Signed-off-by: default avatarJarkko Sakkinen <jarkko.sakkine@linux.intel.com>
parent 75254557
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -934,7 +934,7 @@ static struct tpm_input_header savestate_header = {
 */
int tpm_pm_suspend(struct device *dev)
{
	struct tpm_chip *chip = to_tpm_chip(dev);
	struct tpm_chip *chip = dev_get_drvdata(dev);
	struct tpm_cmd_t cmd;
	int rc, try;

@@ -995,7 +995,7 @@ EXPORT_SYMBOL_GPL(tpm_pm_suspend);
 */
int tpm_pm_resume(struct device *dev)
{
	struct tpm_chip *chip = to_tpm_chip(dev);
	struct tpm_chip *chip = dev_get_drvdata(dev);

	if (chip == NULL)
		return -ENODEV;