From: Haibo Chen <haibo.c...@nxp.com>

According to the code logic in __mmc_switch, if the parameter 'send_status'
is zero, no need to send cmd13, just wait the stated timeout time, then
can return directly.

Signed-off-by: Haibo Chen <haibo.c...@nxp.com>
---
 drivers/mmc/mmc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index d79cdef62e..6cb2af4232 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -805,8 +805,10 @@ static int __mmc_switch(struct mmc *mmc, u8 set, u8 index, 
u8 value,
         * capable of polling by using mmc_wait_dat0, then rely on waiting the
         * stated timeout to be sufficient.
         */
-       if (ret == -ENOSYS && !send_status)
+       if (ret == -ENOSYS && !send_status) {
                mdelay(timeout_ms);
+               return 0;
+       }
 
        /* Finally wait until the card is ready or indicates a failure
         * to switch. It doesn't hurt to use CMD13 here even if send_status
-- 
2.17.1

Reply via email to