On Wed, May 19, 2021 at 02:49:59PM +0800, Tian Tao wrote: > disable_irq() after request_irq() still has a time gap in which > interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will > disable IRQ auto-enable because of requesting. > > Link: https://lore.kernel.org/patchwork/patch/1388765/ > Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx> > --- > v2: add the Link. > v3: put sob last. > --- > drivers/char/tpm/tpm_tis_i2c_cr50.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/char/tpm/tpm_tis_i2c_cr50.c b/drivers/char/tpm/tpm_tis_i2c_cr50.c > index f19c227..44dde2f 100644 > --- a/drivers/char/tpm/tpm_tis_i2c_cr50.c > +++ b/drivers/char/tpm/tpm_tis_i2c_cr50.c > @@ -706,14 +706,14 @@ static int tpm_cr50_i2c_probe(struct i2c_client *client, > > if (client->irq > 0) { > rc = devm_request_irq(dev, client->irq, tpm_cr50_i2c_int_handler, > - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, > + IRQF_TRIGGER_FALLING | IRQF_ONESHOT | > + IRQF_NO_AUTOEN, > dev->driver->name, chip); > if (rc < 0) { > dev_err(dev, "Failed to probe IRQ %d\n", client->irq); > return rc; > } > > - disable_irq(client->irq); > priv->irq = client->irq; > } else { > dev_warn(dev, "No IRQ, will use %ums delay for TPM ready\n", > -- > 2.7.4 > > How does this differ from https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?id=da2f0c7b46171175ab54da248752b1139c42fee4 ? /Jarkko