Re: [PATCH v1 2/4] usb: phy: tegra: return error value from utmi_wait_register

From: Sergey Shtylyov

Date: Mon Feb 02 2026 - 13:08:51 EST


On 2/2/26 3:14 PM, Svyatoslav Ryhel wrote:
> пн, 2 лют. 2026 р. о 14:05 Sergey Shtylyov <sergei.shtylyov@xxxxxxxxx> пише:
>>
>> On 2/2/26 11:05 AM, Svyatoslav Ryhel wrote:
>>
>>> Return exact error value from utmi_wait_register during HSIC power on.
>>>
>>> Signed-off-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx>
>>> ---
>>> drivers/usb/phy/phy-tegra-usb.c | 9 ++++++---
>>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c
>>> index 3a7a74f01d1c..6173b240c3ea 100644
>>> --- a/drivers/usb/phy/phy-tegra-usb.c
>>> +++ b/drivers/usb/phy/phy-tegra-usb.c
>>> @@ -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;
>>
>> This initialization seems pointless -- the newly added variable gets overwritten
>> by you later...
>>
>
> So? let it better be initialized and rewritten then later on catch errors.

I'm not sure what errors you mean here. To me, it (contrariwise) seems to
mask the possible errors when you forget to set err to e.g. -ENOMEM before
returning (when adding a call to kmalloc() or any other function that doesn't
return an error code itself)...
I'm pretty sure gcc will drop this initialization when generating the object
code and (what's worse) the static analyzers will trip on this code telling you
that the value 0 is unused...

[...]

MBR, Sergey