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-mmc" in