Re: question about setting TPM_CHIP_FLAG_IRQ in tpm_tis_core_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue Nov 12 19, Stefan Berger wrote:
On 11/11/19 10:36 PM, Jerry Snitselaar wrote:
Question about 1ea32c83c699 ("tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts"). Doesn't tpm_tis_send set this flag, and setting it here in tpm_tis_core_init short circuits what tpm_tis_send was doing before? There is a bug report of an interrupt storm from a tpm on a t490s laptop with the Fedora 31 kernel (5.3), and I'm wondering if this change could cause that. Before they got
the warning about interrupts not working, and using polling instead.

I set this flag for the TIS because it wasn't set anywhere else. tpm_tis_send() wouldn't set the flag but go via the path:

if (!(chip->flags & TPM_CHIP_FLAG_IRQ) || priv->irq_tested)

        return tpm_tis_send_main(chip, buf, len);

the only other line for the TIS to set the IRQ flag was in the same function further below, though that wouldn't be reached due to the above:

[...]

priv->irq = irq;

chip->flags |= TPM_CHIP_FLAG_IRQ;


   Stefan



Ugh, you're right I was reading that as ! around both the flag and priv->irq_tested.

Should the flag be cleared if tpm_tis_probe_irq_single fails prior to calling
tpm_tis_gen_interrupt?





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux