Re: [PATCH 2/3] mmc: host: omap_hsmmc: Handle BADA, DEB and CEB interrupts

From: Andreas Fenkart
Date: Sat Jun 20 2015 - 18:23:16 EST


TESTED-BY

2015-06-16 12:37 GMT+02:00 Vignesh R <vigneshr@xxxxxx>:
> Sometimes BADA, DEB or CEB error interrupts occur when sd card is
> unplugged during data transfer. These interrupts are currently ignored
> by the interrupt handler. But, this results in card not being
> recognised on subsequent insertion. This is because mmcqd is waiting
> forever for the data transfer(for which error occurred) to complete.
> Fix this, by reporting BADA, DEB, CEB errors to mmc-core as -EILSEQ, so
> that the core can do appropriate handling.
>
> Signed-off-by: Vignesh R <vigneshr@xxxxxx>
> ---
> drivers/mmc/host/omap_hsmmc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index d0abdffb0d7c..fb4bfefd9250 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1068,7 +1068,8 @@ static void omap_hsmmc_do_irq(struct omap_hsmmc_host *host, int status)
> }
> if (status & (CTO_EN | DTO_EN))
> hsmmc_command_incomplete(host, -ETIMEDOUT, end_cmd);
> - else if (status & (CCRC_EN | DCRC_EN))
> + else if (status & (CCRC_EN | DCRC_EN | DEB_EN | CEB_EN |
> + BADA_EN))
> hsmmc_command_incomplete(host, -EILSEQ, end_cmd);
>
> if (status & ACE_EN) {
> --
> 2.4.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/