mmc: core: Restore parts of the polling policy when switch to HS/HS DDR
Regressions for not being able to detect an eMMC HS DDR mode card has been reported for the sdhci-esdhc-imx driver, but potentially other sdhci variants may suffer from the similar problem. The commit e173f891 ("mmc: core: Update CMD13 polling policy when switch to HS DDR mode"), is causing the problem. It seems that change moved one step to far, regarding changing the host's timing before polling for a busy card. To fix this, let's move back to the behaviour when the host's timing is updated after the polling, but before the switch status is fetched and validated. In cases when polling with CMD13, we keep validating the switch status at each attempt. However, to align with the other card busy detections mechanism, let's fetch and validate the switch status also after the host's timing is updated. Reported-by: NClemens Gruber <clemens.gruber@pqgruber.com> Reported-by: NGary Bisson <gary.bisson@boundarydevices.com> Fixes: e173f891 ("mmc: core: Update CMD13 polling policy when switch..") Cc: Shawn Lin <shawn.lin@rock-chips.com> Cc: Dong Aisheng <aisheng.dong@nxp.com> Cc: Haibo Chen <haibo.chen@nxp.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Tested-by: NClemens Gruber <clemens.gruber@pqgruber.com> Tested-by: NJagan Teki <jagan@amarulasolutions.com> Reviewed-by: NShawn Lin <shawn.lin@rock-chips.com> Tested-by: NHaibo Chen <haibo.chen@nxp.com> Reviewed-by: NDong Aisheng <aisheng.dong@nxp.com>
Showing
想要评论请 注册 或 登录