diff mbox series

mmc: sdhci-esdhc-imx: Fix smatch errors

Message ID 20231229130207.3539334-1-hardevsinh.palaniya@siliconsignals.io
State New
Headers show
Series mmc: sdhci-esdhc-imx: Fix smatch errors | expand

Commit Message

Hardevsinh Palaniya Dec. 29, 2023, 1:02 p.m. UTC
Resolve smatch errors in esdhc_executing_tuning()

esdhc_executing_tuning() error: uninitialized symbol 'target_min'
esdhc_executing_tuning() error: uninitialized symbol 'target_max'

Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>

Comments

Stefan Wahren Dec. 29, 2023, 2:34 p.m. UTC | #1
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")

Thanks
> Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>
>
> 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) {
Adrian Hunter Jan. 4, 2024, 7:12 a.m. UTC | #2
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@siliconsignals.io>
>>
>> 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) {
>
diff mbox series

Patch

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) {