Message ID | SEZPR06MB6959712A2AFE3C6C9B49FC2296792@SEZPR06MB6959.apcprd06.prod.outlook.com |
---|---|
State | Superseded |
Delegated to: | Jaehoon Chung |
Headers | show |
Series | mmc: dw_mmc: Don't return error if data busy timeout | expand |
Hi, On 1/26/24 12:29, Yang Xiwen wrote: > As described in [1], some poor hardware or cards would fail to release > the bus and keep driving data lines low. Ignore it and send the next cmd > directly seems okay for most cases. I didn't test on my board. But it's not same with below patch. Did you check all cases? Best Regards, Jaehoon Chung > > [1]: https://patchwork.kernel.org/project/linux-mmc/patch/1424458179-5456-1-git-send-email-dianders@chromium.org/ > > Signed-off-by: Yang Xiwen <forbidden405@outlook.com> > --- > drivers/mmc/dw_mmc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 400066fa99..e103664145 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -262,8 +262,8 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > > while (dwmci_readl(host, DWMCI_STATUS) & DWMCI_BUSY) { > if (get_timer(start) > timeout) { > - debug("%s: Timeout on data busy\n", __func__); > - return -ETIMEDOUT; > + debug("%s: Timeout on data busy, continue anyway\n", __func__); > + break; > } > } >
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index 400066fa99..e103664145 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -262,8 +262,8 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, while (dwmci_readl(host, DWMCI_STATUS) & DWMCI_BUSY) { if (get_timer(start) > timeout) { - debug("%s: Timeout on data busy\n", __func__); - return -ETIMEDOUT; + debug("%s: Timeout on data busy, continue anyway\n", __func__); + break; } }
As described in [1], some poor hardware or cards would fail to release the bus and keep driving data lines low. Ignore it and send the next cmd directly seems okay for most cases. [1]: https://patchwork.kernel.org/project/linux-mmc/patch/1424458179-5456-1-git-send-email-dianders@chromium.org/ Signed-off-by: Yang Xiwen <forbidden405@outlook.com> --- drivers/mmc/dw_mmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)