]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: mmci: Handle CMD irq before DATA irq
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 10 Jan 2014 13:51:42 +0000 (14:51 +0100)
committerChris Ball <chris@printf.net>
Sun, 23 Feb 2014 15:41:17 +0000 (10:41 -0500)
commit394e0a4ff8db877dba223280e13fa46f6dc7b368
tree686b60dc3e1695d3e2a53308bd8dd5b9e8d35c41
parenta238ff67382358b8e25fc1aab8c6a8c6baf3c674
mmc: mmci: Handle CMD irq before DATA irq

In case of a read operation both MCI_CMDRESPEND and MCI_DATAEND can be
set in the status register when entering the interrupt handler. This is
due to that the card start sending data before the host has
acknowledged the command response.

To resolve the issue for this scenario, we must start by handling the
CMD irq instead of the DATA irq. The reason is beacuse the completion
of the DATA irq will not respect the current command and then causing
it to be garbled.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Johan Rudholm <jrudholm@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/mmci.c