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 c7e1384f1b08023d6470308a91f9210063861c14..56ce2bb19166935c72503c311b51ad4b98e8f6cd 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 */