tpm_tis: Fix IRQ autoprobing when using platform_device
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Thu, 4 May 2017 15:53:23 +0000 (09:53 -0600)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tue, 13 Jun 2017 19:02:08 +0000 (22:02 +0300)
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@obsidianresearch.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jerry Snitselaar <jsnitsel@redhat.com> (with TPM 2.0)
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> (with TPM 1.2)
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
drivers/char/tpm/tpm_tis.c

index c7e1384..56ce2bb 100644 (file)
@@ -336,7 +336,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 */