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

Winiarska, Iwona iwona.winiarska at intel.com
Thu Sep 17 13:55:23 PDT 2026


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 at vger.kernel.org
> Assisted-by: Codex:GPT-5
> Signed-off-by: Runyu Xiao <runyu.xiao at seu.edu.cn>

Reviewed-by: Iwona Winiarska <iwona.winiarska at 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),


More information about the linux-arm-kernel mailing list