All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lino Sanfilippo <LinoSanfilippo@gmx.de>
To: peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca
Cc: stefanb@linux.vnet.ibm.com, linux@mniewoehner.de,
	linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org,
	jandryuk@gmail.com, pmenzel@molgen.mpg.de,
	l.sanfilippo@kunbus.com, LinoSanfilippo@gmx.de, lukas@wunner.de,
	p.rosenberger@kunbus.com
Subject: [PATCH v10 08/14] tpm, tpm_tis: do not check for the active locality in interrupt handler
Date: Sun, 20 Nov 2022 14:31:28 +0100	[thread overview]
Message-ID: <20221120133134.28926-9-LinoSanfilippo@gmx.de> (raw)
In-Reply-To: <20221120133134.28926-1-LinoSanfilippo@gmx.de>

From: Lino Sanfilippo <l.sanfilippo@kunbus.com>

After driver initialization tpm_tis_data->locality may only be modified in
case of a LOCALITY CHANGE interrupt. In this case the interrupt handler
iterates over all localities only to assign the active one to
tpm_tis_data->locality.

However this information is never used any more, so the assignment is not
needed.
Furthermore without the assignment tpm_tis_data->locality cannot change any
more at driver runtime, and thus no protection against concurrent
modification is required when the variable is read at other places.

So remove this iteration entirely.

Signed-off-by: Lino Sanfilippo <l.sanfilippo@kunbus.com>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
---
 drivers/char/tpm/tpm_tis_core.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index 5ff4ca5fb936..d0e5acd6b769 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -728,7 +728,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
 	struct tpm_chip *chip = dev_id;
 	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
 	u32 interrupt;
-	int i, rc;
+	int rc;
 
 	rc = tpm_tis_read32(priv, TPM_INT_STATUS(priv->locality), &interrupt);
 	if (rc < 0)
@@ -740,10 +740,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
 	set_bit(TPM_TIS_IRQ_TESTED, &priv->flags);
 	if (interrupt & TPM_INTF_DATA_AVAIL_INT)
 		wake_up_interruptible(&priv->read_queue);
-	if (interrupt & TPM_INTF_LOCALITY_CHANGE_INT)
-		for (i = 0; i < 5; i++)
-			if (check_locality(chip, i))
-				break;
+
 	if (interrupt &
 	    (TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_STS_VALID_INT |
 	     TPM_INTF_CMD_READY_INT))
-- 
2.36.1


  parent reply	other threads:[~2022-11-20 13:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-20 13:31 [PATCH v10 00/14] TPM IRQ fixes Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 01/14] tpm, tpm_tis: Avoid cache incoherency in test for interrupts Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 02/14] tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 03/14] tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 04/14] tpm, tpm_tis: Do not skip reset of original interrupt vector Lino Sanfilippo
2022-11-24  6:58   ` Jarkko Sakkinen
2022-11-24 13:25     ` Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 05/14] tpm, tpm_tis: Claim locality before writing interrupt registers Lino Sanfilippo
2022-11-24  0:55   ` Jarkko Sakkinen
2022-11-20 13:31 ` [PATCH v10 06/14] tpm, tpm_tis: Only handle supported interrupts Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 07/14] tpm, tpm_tis: Move interrupt mask checks into own function Lino Sanfilippo
2022-11-20 13:31 ` Lino Sanfilippo [this message]
2022-11-20 13:31 ` [PATCH v10 09/14] tpm, tpm: Implement usage counter for locality Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 10/14] tpm, tpm_tis: Request threaded interrupt handler Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 11/14] tpm, tpm_tis: Claim locality in " Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 12/14] tpm, tpm_tis: Claim locality when interrupts are reenabled on resume Lino Sanfilippo
2022-11-24  0:32   ` Jarkko Sakkinen
2022-11-20 13:31 ` [PATCH v10 13/14] tpm, tpm_tis: startup chip before testing for interrupts Lino Sanfilippo
2022-11-20 13:31 ` [PATCH v10 14/14] tpm, tpm_tis: Enable interrupt test Lino Sanfilippo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221120133134.28926-9-LinoSanfilippo@gmx.de \
    --to=linosanfilippo@gmx.de \
    --cc=jandryuk@gmail.com \
    --cc=jarkko@kernel.org \
    --cc=jgg@ziepe.ca \
    --cc=l.sanfilippo@kunbus.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@mniewoehner.de \
    --cc=lukas@wunner.de \
    --cc=p.rosenberger@kunbus.com \
    --cc=peterhuewe@gmx.de \
    --cc=pmenzel@molgen.mpg.de \
    --cc=stefanb@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.