Re: PROBLEM: TPM bug causes suspend to turn off device

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

 



It worked! Thanks a bunch Jerry, that was a quick resolution.

I'm no longer seeing any errors in dmesg and suspend is working as expected.

(FYI, I'm testing your patch on top of 8005803a2ca0af49f36f6e9329b5ecda3df27347.)

On Mon, Nov 11, 2019, at 13:57, Jerry Snitselaar wrote:
> On Sun Nov 10 19, Jerry Snitselaar wrote:
> >Jarkko, should there be tpm_chip_start/tpm_chip_stop calls around
> >the tpm1_getcap calls in tpm1_get_timeouts?
> >
> 
> Maybe moving the tpm_chip_start called before the irq probe to before
> tpm_get_timeouts:
> 
> diff --git a/drivers/char/tpm/tpm_tis_core.c 
> b/drivers/char/tpm/tpm_tis_core.c
> index 270f43acbb77..806acc666696 100644
> --- a/drivers/char/tpm/tpm_tis_core.c
> +++ b/drivers/char/tpm/tpm_tis_core.c
> @@ -974,13 +974,14 @@ int tpm_tis_core_init(struct device *dev, struct 
> tpm_tis_data *priv, int irq,
>                   * to make sure it works. May as well use that command 
> to set the
>                   * proper timeouts for the driver.
>                   */
> +               tpm_chip_start(chip);
>                  if (tpm_get_timeouts(chip)) {
>                          dev_err(dev, "Could not get TPM timeouts and 
> durations\n");
>                          rc = -ENODEV;
> +                       tpm_chip_stop(chip);
>                          goto out_err;
>                  }
>   
> -               tpm_chip_start(chip);
>                  chip->flags |= TPM_CHIP_FLAG_IRQ;
>                  if (irq) {
>                          tpm_tis_probe_irq_single(chip, intmask, IRQF_SHARED,
> 
>



[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