
While trying to enable the dw_mmc on rk3188 I managed to confuse and hang the dw_mmc controller into not delivering further data. The fifo state never became ready and the driver was iterating in the while loop reading 0-byte packets forever.
So inspired by how other implementations handle this, check the fifo- state beforhand and add a timeout to catch any glaring fifo issues without hanging uboot altogether.
Signed-off-by: Heiko Stuebner heiko@sntech.de Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
drivers/mmc/dw_mmc.c | 32 ++++++++++++++++++++++++++++++-- include/dwmmc.h | 2 ++ 2 files changed, 32 insertions(+), 2 deletions(-)
Applied to u-boot-rockchip, thanks!