On 22/08/25 12:21 pm, Yibo Dong wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On Fri, Aug 22, 2025 at 06:07:51AM +0000, parthiban.veerasoo...@microchip.com > wrote: >> On 22/08/25 11:07 am, Yibo Dong wrote: >>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the >>> content is safe >>> >>> On Fri, Aug 22, 2025 at 04:49:44AM +0000, >>> parthiban.veerasoo...@microchip.com wrote: >>>> On 22/08/25 8:04 am, Dong Yibo wrote: >>>>> +/** >>>>> + * mucse_mbx_get_capability - Get hw abilities from fw >>>>> + * @hw: pointer to the HW structure >>>>> + * >>>>> + * mucse_mbx_get_capability tries to get capabities from >>>>> + * hw. Many retrys will do if it is failed. >>>>> + * >>>>> + * @return: 0 on success, negative on failure >>>>> + **/ >>>>> +int mucse_mbx_get_capability(struct mucse_hw *hw) >>>>> +{ >>>>> + struct hw_abilities ability = {}; >>>>> + int try_cnt = 3; >>>>> + int err = -EIO; >>>> Here too you no need to assign -EIO as it is updated in the while. >>>> >>>> Best regards, >>>> Parthiban V >>>>> + >>>>> + while (try_cnt--) { >>>>> + err = mucse_fw_get_capability(hw, &ability); >>>>> + if (err) >>>>> + continue; >>>>> + hw->pfvfnum = le16_to_cpu(ability.pfnum) & GENMASK_U16(7, >>>>> 0); >>>>> + return 0; >>>>> + } >>>>> + return err; >>>>> +} >>>>> + >>> >>> err is updated because 'try_cnt = 3'. But to the code logic itself, it >>> should >>> not leave err uninitialized since no guarantee that codes 'whthin while' >>> run at least once. Right? >> Yes, but 'try_cnt' is hard coded as 3, so the 'while loop' will always >> execute and err will definitely be updated. >> >> So in this case, the check isn’t needed unless try_cnt is being modified >> externally with unknown values, which doesn’t seem to be happening here. >> >> Best regards, >> Parthiban V >>> >>> Thanks for your feedback. >>> >>> >> > > Is it fine if I add some comment like this? > ..... > /* Initialized as a defensive measure to handle edge cases > * where try_cnt might be modified > */ > int err = -EIO; > ..... > > Additionally, keeping this initialization ensures we’ll no need to consider > its impact every time 'try_cnt' is modified (Although this situation is > almost impossible). If you're concerned that 'try_cnt' might be modified, then let's keep the existing implementation as is. I also think the comment might not be necessary, so feel free to ignore my earlier suggestion.
Best regards, Parthiban V > > Thanks for your feedback. > >