From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0677C32720C for ; Tue, 11 Aug 2026 11:19:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786447179; cv=none; b=S0b7jNifjXMGOodPIegc/wOMpw2CY1sejiF1ASL/HNHej7GPJZen5IE+nXDW9SkCCHEt9q1BYfsFJjdHpB1zwd7BNZoTAJ8Xa6HC7zSFNaBeyrB0vXevKYJACtnG2IApTMeloZrSNKwuxglynP/pzsZb0rVo4P/LN8zhP8U+FiA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786447179; c=relaxed/simple; bh=eNFVcbCJPK6lPJUSdW5Gsqem7FtjdcS+NMc+i2DufBs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XLEx3vYr/abUffIBYZWpxfjY2lUpgL1wKm+dX19L9wfOgoCuJ09EE0AWTybflV+RXkKosreA0TS8CAT/kdzRH5r5NBq7NYSvFToVD93ji5sN9t6DjLM/PlWiiqjgsuBNsVQ1CISHnwxO8z8kkiLdaojUMOb/AJ9+epDTLJWlZ/8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dWMyUO1+; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dWMyUO1+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 207A91F000E9; Tue, 11 Aug 2026 11:19:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1786447177; bh=F5FIo9Rd1+Wjhk2xamsRSeBg7FU4l/iOilYWT35fpoU=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=dWMyUO1+Opeuttfzz/V96XtKwONa0umSbET4XswtJ8+jVDNx2tm7eKGg4F9ITTpUd XozesCCR1XSEif6ykvac/YiMiF5jNEs6hdkGR2KbXXKlJNcvwJr3kF6tWs1bKx9dss qjzD7CLl7vw9PG5tGz41ZYYFU6iYYg1Ne0ACXVz9luKxNIOnudeutnSxL/xboGQljo 8caq3wpLwN9VEa6n5+Gsr9EjqwIYobbPSURvUKAH4e6sK0WxqCbuS41WHZu8nxdYI+ jt2RJpw1/vptTxKFdoqrr4WJ6TWMcakID3xGuFWsmBAcIO1bpkBuVoazedFhCMl0yF ocBa3YrjkEV2A== Date: Tue, 11 Aug 2026 16:49:34 +0530 From: Vinod Koul To: Radhey Shyam Pandey Cc: tomi.valkeinen@ideasonboard.com, neil.armstrong@linaro.org, michal.simek@amd.com, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, git@amd.com, Sashiko Subject: Re: [PATCH] phy: zynqmp: register PHY provider after probe initialization Message-ID: References: <20260807162510.3681572-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260807162510.3681572-1-radhey.shyam.pandey@amd.com> On 07-08-26, 21:55, Radhey Shyam Pandey wrote: > Register the OF PHY provider only after saved_regs allocation and > runtime PM setup complete successfully. Publishing the provider > mid-probe allowed concurrent consumers to obtain a phy via xpsgtr_xlate() > while probe could still fail, leaving them with references into driver > state that devres would free on the error path. That fails for me! > > Reported-by: Sashiko > Link: https://lore.kernel.org/all/20260720155732.9DA581F000E9@smtp.kernel.org > Fixes: b3db66f62446 ("phy: xilinx: add runtime PM support") > Fixes: 5af9b304bc60 ("phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume") > Signed-off-by: Radhey Shyam Pandey > --- > drivers/phy/xilinx/phy-zynqmp.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/phy/xilinx/phy-zynqmp.c b/drivers/phy/xilinx/phy-zynqmp.c > index 240626b55475..8930cbe24b5a 100644 > --- a/drivers/phy/xilinx/phy-zynqmp.c > +++ b/drivers/phy/xilinx/phy-zynqmp.c > @@ -1060,13 +1060,6 @@ static int xpsgtr_probe(struct platform_device *pdev) > xpsgtr_status_read); > } > > - /* Register the PHY provider. */ > - provider = devm_of_phy_provider_register(&pdev->dev, xpsgtr_xlate); > - if (IS_ERR(provider)) { > - dev_err(&pdev->dev, "registering provider failed\n"); > - return PTR_ERR(provider); > - } > - > gtr_dev->saved_regs = devm_kmalloc(gtr_dev->dev, > sizeof(save_reg_address), > GFP_KERNEL); > @@ -1082,6 +1075,14 @@ static int xpsgtr_probe(struct platform_device *pdev) > return ret; > } > > + provider = devm_of_phy_provider_register(&pdev->dev, xpsgtr_xlate); > + if (IS_ERR(provider)) { > + dev_err(&pdev->dev, "registering provider failed\n"); > + pm_runtime_put(gtr_dev->dev); > + pm_runtime_disable(gtr_dev->dev); > + return PTR_ERR(provider); > + } > + > return 0; > } > > > base-commit: ea2bff00da89d7767d677bb68470130ba96f4928 and this does not exist for me! -- ~Vinod