The ibmvtpm doesn't have `chip->ops` set, and so trying to check if it's a defective AMD fTPM doesn't work. Add an extra check to tpm_amd_is_rng_defective() to ensure the TPM being checked has `chip->ops`. Cc: Linux regressions mailing list <regressions@xxxxxxxxxxxxxxx> Reported-by: Aneesh Kumar K. V <aneesh.kumar@xxxxxxxxxxxxx> Reported-by: Sachin Sant <sachinp@xxxxxxxxxxxxx> Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@xxxxxxxxxxxxx/ Tested-by: Sachin Sant <sachinp@xxxxxxxxxxxxx> Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site") Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD designs") Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> --- drivers/char/tpm/tpm-chip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index cd48033b804a..9ba433761e9a 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -524,6 +524,9 @@ static bool tpm_amd_is_rng_defective(struct tpm_chip *chip) u64 version; int ret; + if (!chip->ops) + return false; + if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) return false; -- 2.34.1