Re: [Discussion] Uninitialized variable in wiz_mode_select()

From: Kishon Vijay Abraham I
Date: Thu Apr 01 2021 - 03:41:10 EST


Hi,

On 01/04/21 1:08 pm, Kishon Vijay Abraham I wrote:
> Hi Usama,
>
> On 01/04/21 1:03 pm, Muhammad Usama Anjum wrote:
>> Hi,
>>
>> `mode` remains uninitialized when `lane_phy_type` isn't PHY_TYPE_DP
>> or
>> PHY_TYPE_QSGMII. I've checked the dtsi (k3-j721e-common-proc-
>> board.dts)
>> and possible values of `lane_phy_type` are justPHY_TYPE_USB3 and
>> PHY_TYPE_PCIE. If this is correct, the mode will remain uninitialized with
>> garbage value. `mode` should be initialized to what? It seems like it is highly
>> implementation dependent.
>>
>> /drivers/phy/ti/phy-j721e-wiz.c: 344 in wiz_mode_select()
>> 338 for (i = 0; i < num_lanes; i++) {
>> 339 if (wiz->lane_phy_type[i] == PHY_TYPE_DP)
>> 340 mode = LANE_MODE_GEN1;
>> 341 else if (wiz->lane_phy_type[i] == PHY_TYPE_QSGMII)
>> 342 mode = LANE_MODE_GEN2;
>> 343
>>>>> CID 1503592: Uninitialized variables (UNINIT)
>>>>> Using uninitialized value "mode" when calling "regmap_field_write".
>> 344 ret = regmap_field_write(wiz->p_standard_mode[i], mode);
>> 345 if (ret)
>> 346 return ret;
>> 347 }
>> 348
>> 349 return 0;
>
> I've sent a follow-up patch fixing this.
> http://lor.kernel.org/r/20210331131417.15596-1-kishon@xxxxxx

Fixed a typo in the link
https://lore.kernel.org/linux-phy/20210331131417.15596-1-kishon@xxxxxx/

Thanks
Kishon