Linux MultiMedia Card development
 help / color / mirror / Atom feed
From: Dan Carpenter <error27@gmail.com>
To: william.qiu@starfivetech.com
Cc: linux-mmc@vger.kernel.org
Subject: [bug report] mmc: starfive: Add sdio/emmc driver support
Date: Mon, 27 Feb 2023 10:06:48 +0300	[thread overview]
Message-ID: <Y/xWiEW/npStWjTF@kili> (raw)

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

             reply	other threads:[~2023-02-27  7:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-27  7:06 Dan Carpenter [this message]
2023-02-27  7:26 ` [bug report] mmc: starfive: Add sdio/emmc driver support William Qiu
2023-02-27  7:29   ` Dan Carpenter
2023-02-27  7:37     ` William Qiu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/xWiEW/npStWjTF@kili \
    --to=error27@gmail.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=william.qiu@starfivetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox