Re: [PATCH] mmc: sdhci-esdhc-imx: Fix smatch errors

From: Adrian Hunter
Date: Thu Jan 04 2024 - 02:12:51 EST


On 29/12/23 16:34, Stefan Wahren wrote:
> Hi Hardevsinh,
>
> the patch subject is a too generic. Maybe something like "fix
> initialization of target_min/max"
>
> Am 29.12.23 um 14:02 schrieb Hardevsinh Palaniya:
>> Resolve smatch errors in esdhc_executing_tuning()
>>
>> esdhc_executing_tuning() error: uninitialized symbol 'target_min'
>> esdhc_executing_tuning() error: uninitialized symbol 'target_max'
> I think this deserve
>
> Fixes: 541a95e64d76 ("mmc: sdhci-esdhc-imx: optimize the manual tuing
> logic to get the best timing")

Is smatch right though?

while (max < ESDHC_TUNE_CTRL_MAX) { // always true first iteration

max = min + ESDHC_TUNE_CTRL_STEP; // max > min

max -= ESDHC_TUNE_CTRL_STEP;
break; // max >= min

win_length = max - min + 1; // always > 0 since max >= min

if (win_length > target_win_length) { // always true first iteration
target_min = min; // always initialized
target_max = max; // always initialized

>
> Thanks
>> Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@xxxxxxxxxxxxxxxxx>
>>
>> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
>> index 40a6e2f8145a..839b60138f04 100644
>> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
>> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
>> @@ -1166,6 +1166,8 @@ static int esdhc_executing_tuning(struct sdhci_host *host, u32 opcode)
>>       min = ESDHC_TUNE_CTRL_MIN;
>>       max = ESDHC_TUNE_CTRL_MIN;
>>       target_win_length = 0;
>> +    target_min = 0;
>> +    target_max = 0;
>>       while (max < ESDHC_TUNE_CTRL_MAX) {
>>           /* find the mininum delay first which can pass tuning */
>>           while (min < ESDHC_TUNE_CTRL_MAX) {
>