mmc: Print send_cmd response only when return value is zero

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>
This commit is contained in:
Bin Meng 2016-03-17 21:53:14 -07:00 committed by Tom Rini
parent 53e8e40b47
commit 7863ce5891

View 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("CMD_SEND:%d\n", cmd->cmdidx);
printf("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg); printf("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg);
ret = mmc->cfg->ops->send_cmd(mmc, cmd, data); ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);
switch (cmd->resp_type) { if (ret) {
case MMC_RSP_NONE: printf("\t\tRET\t\t\t %d\n", ret);
printf("\t\tMMC_RSP_NONE\n"); } else {
break; switch (cmd->resp_type) {
case MMC_RSP_R1: case MMC_RSP_NONE:
printf("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n", printf("\t\tMMC_RSP_NONE\n");
cmd->response[0]); break;
break; case MMC_RSP_R1:
case MMC_RSP_R1b: printf("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n",
printf("\t\tMMC_RSP_R1b\t\t 0x%08X \n", cmd->response[0]);
cmd->response[0]); break;
break; case MMC_RSP_R1b:
case MMC_RSP_R2: printf("\t\tMMC_RSP_R1b\t\t 0x%08X \n",
printf("\t\tMMC_RSP_R2\t\t 0x%08X \n", cmd->response[0]);
cmd->response[0]); break;
printf("\t\t \t\t 0x%08X \n", case MMC_RSP_R2:
cmd->response[1]); printf("\t\tMMC_RSP_R2\t\t 0x%08X \n",
printf("\t\t \t\t 0x%08X \n", cmd->response[0]);
cmd->response[2]); printf("\t\t \t\t 0x%08X \n",
printf("\t\t \t\t 0x%08X \n", cmd->response[1]);
cmd->response[3]); printf("\t\t \t\t 0x%08X \n",
printf("\n"); cmd->response[2]);
printf("\t\t\t\t\tDUMPING DATA\n"); printf("\t\t \t\t 0x%08X \n",
for (i = 0; i < 4; i++) { cmd->response[3]);
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"); 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 #else
ret = mmc->cfg->ops->send_cmd(mmc, cmd, data); ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);