[PATCH AUTOSEL for 4.9 063/293] tpm_tis: Fix IRQ autoprobing when using platform_device

From: Sasha Levin
Date: Sun Apr 08 2018 - 20:28:19 EST


From: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>

[ Upstream commit d27f81f061bbde627ac4fbd735114f9ea2c63615 ]

The test was backwards, triggering IRQ autoprobing if the firmware
did not specify an IRQ, instead of triggering it only when the
module force parameter was specified.

Since autoprobing is not enabled on !x86 and the platform device is
currently only used on !x86, or with force, this has gone unnoticed.

Fixes: 00194826e6be ("tpm_tis: Clean up the force=1 module parameter")
Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
Tested-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> (with TPM 2.0)
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> (with TPM 1.2)
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx>
---
drivers/char/tpm/tpm_tis.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 06173d2e316f..2721f9c2e70a 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -334,7 +334,7 @@ static int tpm_tis_plat_probe(struct platform_device *pdev)
if (res) {
tpm_info.irq = res->start;
} else {
- if (pdev == force_pdev)
+ if (pdev != force_pdev)
tpm_info.irq = -1;
else
/* When forcing auto probe the IRQ */
--
2.15.1