mmc: fix wrong timeout check in mmc_send_status()
authorJongman Heo <jongman.heo@gmail.com>
Sun, 3 Jun 2012 21:32:13 +0000 (21:32 +0000)
committernotaz <notasas@gmail.com>
Thu, 29 Oct 2015 22:41:43 +0000 (00:41 +0200)
(!timeout) condition check in mmc_send_status() can never be met,
because do-while loop ends up with negative timeout value, -1.

Fix the check to handle TIMEOUT case correctly.

Signed-off-by: Jongman Heo <jongman.heo@gmail.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
drivers/mmc/mmc.c

index 9f1d4aa..7e5bd5d 100644 (file)
@@ -142,7 +142,7 @@ int mmc_send_status(struct mmc *mmc, int timeout)
        status = (cmd.response[0] & MMC_STATUS_CURR_STATE) >> 9;
        printf("CURR STATE:%d\n", status);
 #endif
-       if (!timeout) {
+       if (timeout <= 0) {
                printf("Timeout waiting card ready\n");
                return TIMEOUT;
        }