mmc: Print send_cmd response only when return value is zero
authorBin Meng <bmeng.cn@gmail.com>
Fri, 18 Mar 2016 04:53:14 +0000 (21:53 -0700)
committerTom Rini <trini@konsulko.com>
Sun, 27 Mar 2016 13:12:24 +0000 (09:12 -0400)
send_cmd response is valid only when no error happened. If an error
occured, let mmc_send_cmd() print the return value to aid debugging.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
drivers/mmc/mmc.c

index a7f984328c7a9e5dc00db3b059f6d5adb9dfc854..d3c22abfd5a8c198499308cb4b8e24f161f9be3d 100644 (file)
@@ -61,46 +61,50 @@ int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
        printf("CMD_SEND:%d\n", cmd->cmdidx);
        printf("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg);
        ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);
-       switch (cmd->resp_type) {
-       case MMC_RSP_NONE:
-               printf("\t\tMMC_RSP_NONE\n");
-               break;
-       case MMC_RSP_R1:
-               printf("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n",
-                       cmd->response[0]);
-               break;
-       case MMC_RSP_R1b:
-               printf("\t\tMMC_RSP_R1b\t\t 0x%08X \n",
-                       cmd->response[0]);
-               break;
-       case MMC_RSP_R2:
-               printf("\t\tMMC_RSP_R2\t\t 0x%08X \n",
-                       cmd->response[0]);
-               printf("\t\t          \t\t 0x%08X \n",
-                       cmd->response[1]);
-               printf("\t\t          \t\t 0x%08X \n",
-                       cmd->response[2]);
-               printf("\t\t          \t\t 0x%08X \n",
-                       cmd->response[3]);
-               printf("\n");
-               printf("\t\t\t\t\tDUMPING DATA\n");
-               for (i = 0; i < 4; i++) {
-                       int j;
-                       printf("\t\t\t\t\t%03d - ", i*4);
-                       ptr = (u8 *)&cmd->response[i];
-                       ptr += 3;
-                       for (j = 0; j < 4; j++)
-                               printf("%02X ", *ptr--);
+       if (ret) {
+               printf("\t\tRET\t\t\t %d\n", ret);
+       } else {
+               switch (cmd->resp_type) {
+               case MMC_RSP_NONE:
+                       printf("\t\tMMC_RSP_NONE\n");
+                       break;
+               case MMC_RSP_R1:
+                       printf("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n",
+                               cmd->response[0]);
+                       break;
+               case MMC_RSP_R1b:
+                       printf("\t\tMMC_RSP_R1b\t\t 0x%08X \n",
+                               cmd->response[0]);
+                       break;
+               case MMC_RSP_R2:
+                       printf("\t\tMMC_RSP_R2\t\t 0x%08X \n",
+                               cmd->response[0]);
+                       printf("\t\t          \t\t 0x%08X \n",
+                               cmd->response[1]);
+                       printf("\t\t          \t\t 0x%08X \n",
+                               cmd->response[2]);
+                       printf("\t\t          \t\t 0x%08X \n",
+                               cmd->response[3]);
                        printf("\n");
+                       printf("\t\t\t\t\tDUMPING DATA\n");
+                       for (i = 0; i < 4; i++) {
+                               int j;
+                               printf("\t\t\t\t\t%03d - ", i*4);
+                               ptr = (u8 *)&cmd->response[i];
+                               ptr += 3;
+                               for (j = 0; j < 4; j++)
+                                       printf("%02X ", *ptr--);
+                               printf("\n");
+                       }
+                       break;
+               case MMC_RSP_R3:
+                       printf("\t\tMMC_RSP_R3,4\t\t 0x%08X \n",
+                               cmd->response[0]);
+                       break;
+               default:
+                       printf("\t\tERROR MMC rsp not supported\n");
+                       break;
                }
-               break;
-       case MMC_RSP_R3:
-               printf("\t\tMMC_RSP_R3,4\t\t 0x%08X \n",
-                       cmd->response[0]);
-               break;
-       default:
-               printf("\t\tERROR MMC rsp not supported\n");
-               break;
        }
 #else
        ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);