]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: phy: tegra: return error value from utmi_wait_register
authorSvyatoslav Ryhel <clamor95@gmail.com>
Mon, 2 Feb 2026 08:05:24 +0000 (10:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Feb 2026 16:16:24 +0000 (17:16 +0100)
Return exact error value from utmi_wait_register during HSIC power on.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Link: https://patch.msgid.link/20260202080526.23487-3-clamor95@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/phy/phy-tegra-usb.c

index 3a7a74f01d1ce643f86eb3ce0fdc6962a13e0c5e..6173b240c3ea6b5b5eda3bf1c13283c61ae80aba 100644 (file)
@@ -891,6 +891,7 @@ static int uhsic_phy_power_on(struct tegra_usb_phy *phy)
        struct tegra_utmip_config *config = phy->config;
        void __iomem *base = phy->regs;
        u32 val;
+       int err = 0;
 
        val = tegra_hsic_readl(phy, UHSIC_PADS_CFG1);
        val &= ~(UHSIC_PD_BG | UHSIC_PD_TX | UHSIC_PD_TRK | UHSIC_PD_RX |
@@ -984,12 +985,14 @@ static int uhsic_phy_power_on(struct tegra_usb_phy *phy)
        val |= UHSIC_TX_RTUNE(phy->soc_config->uhsic_tx_rtune);
        tegra_hsic_writel(phy, UHSIC_PADS_CFG0, val);
 
-       if (utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID,
-                              USB_PHY_CLK_VALID))
+       err = utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID,
+                                USB_PHY_CLK_VALID);
+
+       if (err)
                dev_err(phy->u_phy.dev,
                        "Timeout waiting for PHY to stabilize on enable (HSIC)\n");
 
-       return 0;
+       return err;
 }
 
 static int uhsic_phy_power_off(struct tegra_usb_phy *phy)