mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] peci: aspeed: Initialize state before requesting IRQ
@ 2026-09-02 14:26 Runyu Xiao
  2026-09-17 20:55 ` Winiarska, Iwona
  0 siblings, 1 reply; 2+ messages in thread
From: Runyu Xiao @ 2026-09-02 14:26 UTC (permalink / raw)
  To: Iwona Winiarska
  Cc: Joel Stanley, Andrew Jeffery, Ryan Chen, Billy Tsai,
	linux-aspeed, openbmc, linux-arm-kernel, linux-kernel, stable,
	Runyu Xiao, Jianhao Xu

The PECI interrupt handler uses the lock and completion object as soon as
the interrupt is delivered. Initialize both before registering the
handler so an early interrupt cannot access uninitialized state.

Fixes: a85e4c52086c ("peci: Add peci-aspeed controller driver")
Cc: stable@vger.kernel.org
Assisted-by: Codex:GPT-5
Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
---
 drivers/peci/controller/peci-aspeed.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/peci/controller/peci-aspeed.c b/drivers/peci/controller/peci-aspeed.c
index a0c99ecf7..5d7f4f8fd 100644
--- a/drivers/peci/controller/peci-aspeed.c
+++ b/drivers/peci/controller/peci-aspeed.c
@@ -529,14 +529,14 @@ static int aspeed_peci_probe(struct platform_device *pdev)
 	if (priv->irq < 0)
 		return priv->irq;
 
+	init_completion(&priv->xfer_complete);
+	spin_lock_init(&priv->lock);
+
 	ret = devm_request_irq(&pdev->dev, priv->irq, aspeed_peci_irq_handler,
 			       0, "peci-aspeed", priv);
 	if (ret)
 		return ret;
 
-	init_completion(&priv->xfer_complete);
-	spin_lock_init(&priv->lock);
-
 	priv->rst = devm_reset_control_get(&pdev->dev, NULL);
 	if (IS_ERR(priv->rst))
 		return dev_err_probe(priv->dev, PTR_ERR(priv->rst),
-- 
2.34.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] peci: aspeed: Initialize state before requesting IRQ
  2026-09-02 14:26 [PATCH] peci: aspeed: Initialize state before requesting IRQ Runyu Xiao
@ 2026-09-17 20:55 ` Winiarska, Iwona
  0 siblings, 0 replies; 2+ messages in thread
From: Winiarska, Iwona @ 2026-09-17 20:55 UTC (permalink / raw)
  To: runyu.xiao
  Cc: jianhao.xu, joel, andrew, linux-aspeed, linux-kernel,
	linux-arm-kernel, Chen, Ryan, stable, billy_tsai, openbmc

On Wed, 2026-09-02 at 22:26 +0800, Runyu Xiao wrote:
> The PECI interrupt handler uses the lock and completion object as soon as
> the interrupt is delivered. Initialize both before registering the
> handler so an early interrupt cannot access uninitialized state.
> 
> Fixes: a85e4c52086c ("peci: Add peci-aspeed controller driver")
> Cc: stable@vger.kernel.org
> Assisted-by: Codex:GPT-5
> Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>

Reviewed-by: Iwona Winiarska <iwona.winiarska@intel.com>

Thanks
-Iwona

> ---
>  drivers/peci/controller/peci-aspeed.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/peci/controller/peci-aspeed.c
> b/drivers/peci/controller/peci-aspeed.c
> index a0c99ecf7..5d7f4f8fd 100644
> --- a/drivers/peci/controller/peci-aspeed.c
> +++ b/drivers/peci/controller/peci-aspeed.c
> @@ -529,14 +529,14 @@ static int aspeed_peci_probe(struct platform_device
> *pdev)
>  	if (priv->irq < 0)
>  		return priv->irq;
>  
> +	init_completion(&priv->xfer_complete);
> +	spin_lock_init(&priv->lock);
> +
>  	ret = devm_request_irq(&pdev->dev, priv->irq,
> aspeed_peci_irq_handler,
>  			       0, "peci-aspeed", priv);
>  	if (ret)
>  		return ret;
>  
> -	init_completion(&priv->xfer_complete);
> -	spin_lock_init(&priv->lock);
> -
>  	priv->rst = devm_reset_control_get(&pdev->dev, NULL);
>  	if (IS_ERR(priv->rst))
>  		return dev_err_probe(priv->dev, PTR_ERR(priv->rst),

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-17 20:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-02 14:26 [PATCH] peci: aspeed: Initialize state before requesting IRQ Runyu Xiao
2026-09-17 20:55 ` Winiarska, Iwona

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®