Linux MultiMedia Card development
 help / color / mirror / Atom feed
* [bug report] mmc: starfive: Add sdio/emmc driver support
@ 2023-02-27  7:06 Dan Carpenter
  2023-02-27  7:26 ` William Qiu
  0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2023-02-27  7:06 UTC (permalink / raw)
  To: william.qiu; +Cc: linux-mmc

Hello William Qiu,

The patch 9e622229bbf4: "mmc: starfive: Add sdio/emmc driver support"
from Feb 15, 2023, leads to the following Smatch static checker
warning:

	drivers/mmc/host/dw_mmc-starfive.c:77 dw_mci_starfive_execute_tuning()
	error: uninitialized symbol 'prev_err'.

drivers/mmc/host/dw_mmc-starfive.c
    47 static int dw_mci_starfive_execute_tuning(struct dw_mci_slot *slot,
    48                                              u32 opcode)
    49 {
    50         static const int grade  = MAX_DELAY_CHAIN;
    51         struct dw_mci *host = slot->host;
    52         struct starfive_priv *priv = host->priv;
    53         int rise_point = -1, fall_point = -1;
    54         int err, prev_err;
    55         int i;
    56         bool found = 0;
    57         u32 regval;
    58 
    59         /*
    60          * Use grade as the max delay chain, and use the rise_point and
    61          * fall_point to ensure the best sampling point of a data input
    62          * signals.
    63          */
    64         for (i = 0; i < grade; i++) {
    65                 regval = i << priv->syscon_shift;
    66                 err = regmap_update_bits(priv->reg_syscon, priv->syscon_offset,
    67                                                 priv->syscon_mask, regval);
    68                 if (err)
    69                         return err;
    70                 mci_writel(host, RINTSTS, ALL_INT_CLR);
    71 
    72                 err = mmc_send_tuning(slot->mmc, opcode, NULL);
    73                 if (!err)
    74                         found = 1;
    75 
    76                 if (i > 0) {
--> 77                         if (err && !prev_err)

prev_err was never initialized to zero.

    78                                 fall_point = i - 1;
    79                         if (!err && prev_err)
    80                                 rise_point = i;
    81                 }
    82 
    83                 if (rise_point != -1 && fall_point != -1)
    84                         goto tuning_out;
    85 
    86                 prev_err = err;
    87                 err = 0;
    88         }
    89 

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-27  7:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27  7:06 [bug report] mmc: starfive: Add sdio/emmc driver support Dan Carpenter
2023-02-27  7:26 ` William Qiu
2023-02-27  7:29   ` Dan Carpenter
2023-02-27  7:37     ` William Qiu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox