[PATCH 2/2] phy: zynqmp: fix runtime PM leak on probe allocation failure

Michal Simek michal.simek at amd.com
Mon Jul 20 22:39:28 PDT 2026



On 7/20/26 17:38, Radhey Shyam Pandey wrote:
> Allocate saved_regs before pm_runtime_resume_and_get() so a
> devm_kmalloc() failure does not leave an unreleased runtime PM usage
> counter.
> 
> Fixes: 5af9b304bc60 ("phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume")
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey at amd.com>
> ---
>   drivers/phy/xilinx/phy-zynqmp.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/phy/xilinx/phy-zynqmp.c b/drivers/phy/xilinx/phy-zynqmp.c
> index c8230f2bda62..2138f5399821 100644
> --- a/drivers/phy/xilinx/phy-zynqmp.c
> +++ b/drivers/phy/xilinx/phy-zynqmp.c
> @@ -1044,6 +1044,12 @@ static int xpsgtr_probe(struct platform_device *pdev)
>   		return PTR_ERR(provider);
>   	}
>   
> +	gtr_dev->saved_regs = devm_kmalloc(gtr_dev->dev,
> +					   sizeof(save_reg_address),
> +					   GFP_KERNEL);
> +	if (!gtr_dev->saved_regs)
> +		return -ENOMEM;
> +
>   	pm_runtime_set_active(gtr_dev->dev);
>   	pm_runtime_enable(gtr_dev->dev);
>   
> @@ -1053,12 +1059,6 @@ static int xpsgtr_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	gtr_dev->saved_regs = devm_kmalloc(gtr_dev->dev,
> -					   sizeof(save_reg_address),
> -					   GFP_KERNEL);
> -	if (!gtr_dev->saved_regs)
> -		return -ENOMEM;
> -
>   	return 0;
>   }
>   

Reviewed-by: Michal Simek <michal.simek at amd.com>

Thanks,
Michal



More information about the linux-phy mailing list