Re: [PATCH] peci: aspeed: Initialize state before requesting IRQ

From: Winiarska, Iwona

Date: Thu Sep 17 2026 - 20:16:44 EST


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@xxxxxxxxxxxxxxx
> Assisted-by: Codex:GPT-5
> Signed-off-by: Runyu Xiao <runyu.xiao@xxxxxxxxxx>

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

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),