mmc: sdio: Print contents of unknown CIS tuples
authorSean Anderson <sean.anderson@seco.com>
Mon, 26 Jul 2021 16:36:53 +0000 (12:36 -0400)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 24 Aug 2021 08:15:33 +0000 (10:15 +0200)
Print out the contents of the offending tuples when we do print them.
This can make it easier to debug, since these tuples are not exposed to
userspace anywhere else. We are limited to 64 bytes, so keep printing
out the full length in case the tuple is truncated.

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

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