This is a note to let you know that I've just added the patch titled phy: cadence: Sierra: Fix PHY power_on sequence to the 5.12-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: phy-cadence-sierra-fix-phy-power_on-sequence.patch and it can be found in the queue-5.12 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 5b4f5757f83be34d1428a1ffbb68d4a1966e9aae Mon Sep 17 00:00:00 2001 From: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri, 19 Mar 2021 18:11:16 +0530 Subject: phy: cadence: Sierra: Fix PHY power_on sequence From: Kishon Vijay Abraham I <kishon@xxxxxx> commit 5b4f5757f83be34d1428a1ffbb68d4a1966e9aae upstream. Commit 44d30d622821d ("phy: cadence: Add driver for Sierra PHY") de-asserts PHY_RESET even before the configurations are loaded in phy_init(). However PHY_RESET should be de-asserted only after all the configurations has been initialized, instead of de-asserting in probe. Fix it here. Fixes: 44d30d622821d ("phy: cadence: Add driver for Sierra PHY") Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v5.4+ Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20210319124128.13308-2-kishon@xxxxxx Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/phy/cadence/phy-cadence-sierra.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/drivers/phy/cadence/phy-cadence-sierra.c +++ b/drivers/phy/cadence/phy-cadence-sierra.c @@ -319,6 +319,12 @@ static int cdns_sierra_phy_on(struct phy u32 val; int ret; + ret = reset_control_deassert(sp->phy_rst); + if (ret) { + dev_err(dev, "Failed to take the PHY out of reset\n"); + return ret; + } + /* Take the PHY lane group out of reset */ ret = reset_control_deassert(ins->lnk_rst); if (ret) { @@ -616,7 +622,6 @@ static int cdns_sierra_phy_probe(struct pm_runtime_enable(dev); phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); - reset_control_deassert(sp->phy_rst); return PTR_ERR_OR_ZERO(phy_provider); put_child: Patches currently in stable-queue which might be from kishon@xxxxxx are queue-5.12/pci-keystone-let-am65-use-the-pci_ops-defined-in-pcie-designware-host.c.patch queue-5.12/phy-ti-j721e-wiz-invoke-wiz_init-before-of_platform_device_create.patch queue-5.12/phy-cadence-sierra-fix-phy-power_on-sequence.patch