Re: [PATCH] mmc: dw_mmc: Don't start commands while busy

From: Doug Anderson
Date: Fri Feb 20 2015 - 15:31:23 EST


Hi,

On Fri, Feb 20, 2015 at 10:49 AM, Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
> We've seen problems on some WiFi modules where we seem to send a CMD53
> (which requires the data lines) while the module is asserting busy.
> We shouldn't do that.
>
> The Designware Databook says that before issuing a new data transfer
> command we should check for busy, so that's what we'll do.
>
> We'll leverage the existing dw_mmc knowledge about whether it should
> wait for the previous command to finish to know whether we should
> check for busy before sending the command. This means we won't end up
> incorrectly waiting for things like CMD52 (SDIO) or CMD13 (SD) which
> don't use the data line.
>
> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
> ---
> drivers/mmc/host/dw_mmc.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)

Sorry for the quick spin. After I posted this I re-read all the
messages and it looks like Addy has an actual SD card (not SDIO) that
is also asserting busy. He's seeing it assert busy around the clock
update.

I believe his bug can be fixed by also adding the busy check to
mci_send_cmd(), so I'll shortly post V2 of this patch. Hopefully Addy
will be able to test all 3 of my patches together and his card will be
totally happy.

-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/