mmc: Fix splitting device initialization
authorAndrew Gabbasov <andrew_gabbasov@mentor.com>
Thu, 19 Mar 2015 12:44:07 +0000 (07:44 -0500)
committerPantelis Antoniou <pantelis.antoniou@konsulko.com>
Tue, 5 May 2015 08:55:46 +0000 (11:55 +0300)
commitbd47c13583f2c4bbd29914063d2bf3a98fcdf5cb
treeca0004a3a22dd60eaa69f42437120f2baece0f69
parent1677eef45976da1cdccc73cd4291877dbb05eea9
mmc: Fix splitting device initialization

Starting part of device initialization sets the init_in_progress flag
only if the MMC card did not yet come to ready state and needs to continue
polling. If the card is SD or if the MMC card became ready quickly,
the flag is not set and (if using pre-initialization) the starting
phase will be re-executed from mmc_init function.

Set the init_in_progress flag in all non-error cases. Also, move flags
setting statements around so that the flags are not set in error paths.
Also, IN_PROGRESS return status becomes unnecessary, so get rid of it.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
drivers/mmc/mmc.c
include/mmc.h