mmc: sdio: Don't warn about vendor CIS tuples
authorSean Anderson <sean.anderson@seco.com>
Mon, 26 Jul 2021 16:36:52 +0000 (12:36 -0400)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 24 Aug 2021 08:15:33 +0000 (10:15 +0200)
CIS tuples in the range 0x80-0x8F are reserved for vendors. Some devices
have tuples in this range which get warned about every boot. Since this
is normal behavior, don't print these tuples unless debug is enabled.

Unfortunately, we cannot use a variable for the format string since it
gets pasted by pr_*_ratelimited.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Link: https://lore.kernel.org/r/20210726163654.1110969-1-sean.anderson@seco.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/sdio_cis.c

index b23773583179df8071bce6f64772c0a6e2560159..7518b27bcef23e2450e33f00ce8b68cb2a19eb76 100644 (file)
@@ -330,13 +330,23 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
                        prev = &this->next;
 
                        if (ret == -ENOENT) {
+
                                if (time_after(jiffies, timeout))
                                        break;
-                               /* warn about unknown tuples */
-                               pr_warn_ratelimited("%s: queuing unknown"
-                                      " CIS tuple 0x%02x (%u bytes)\n",
-                                      mmc_hostname(card->host),
-                                      tpl_code, tpl_link);
+
+#define FMT(type) "%s: queuing " type " CIS tuple 0x%02x (%u bytes)\n"
+                               /*
+                                * Tuples in this range are reserved for
+                                * vendors, so don't warn about them
+                                */
+                               if (tpl_code >= 0x80 && tpl_code <= 0x8f)
+                                       pr_debug_ratelimited(FMT("vendor"),
+                                               mmc_hostname(card->host),
+                                               tpl_code, tpl_link);
+                               else
+                                       pr_warn_ratelimited(FMT("unknown"),
+                                               mmc_hostname(card->host),
+                                               tpl_code, tpl_link);
                        }
 
                        /* keep on analyzing tuples */