Patch "tpm,tpm_tis: Avoid warning splat at shutdown" has been added to the 6.6-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    tpm,tpm_tis: Avoid warning splat at shutdown

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tpm-tpm_tis-avoid-warning-splat-at-shutdown.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit ab34ccd495f14c64d108f23c103bc59882ff5875
Author: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx>
Date:   Thu Feb 1 12:36:45 2024 +0100

    tpm,tpm_tis: Avoid warning splat at shutdown
    
    [ Upstream commit b7ab4bbd0188f3985b821fa09456b11105a8dedf ]
    
    If interrupts are not activated the work struct 'free_irq_work' is not
    initialized. This results in a warning splat at module shutdown.
    
    Fix this by always initializing the work regardless of whether interrupts
    are activated or not.
    
    cc: stable@xxxxxxxxxxxxxxx
    Fixes: 481c2d14627d ("tpm,tpm_tis: Disable interrupts after 1000 unhandled IRQs")
    Reported-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
    Closes: https://lore.kernel.org/all/CX32RFOMJUQ0.3R4YCL9MDCB96@xxxxxxxxxx/
    Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx>
    Signed-off-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index 1b350412d8a6b..64c875657687d 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -919,8 +919,6 @@ static int tpm_tis_probe_irq_single(struct tpm_chip *chip, u32 intmask,
 	int rc;
 	u32 int_status;
 
-	INIT_WORK(&priv->free_irq_work, tpm_tis_free_irq_func);
-
 	rc = devm_request_threaded_irq(chip->dev.parent, irq, NULL,
 				       tis_int_handler, IRQF_ONESHOT | flags,
 				       dev_name(&chip->dev), chip);
@@ -1132,6 +1130,7 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
 	priv->phy_ops = phy_ops;
 	priv->locality_count = 0;
 	mutex_init(&priv->locality_count_mutex);
+	INIT_WORK(&priv->free_irq_work, tpm_tis_free_irq_func);
 
 	dev_set_drvdata(&chip->dev, priv);
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux