summaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorSeungwon Jeon2013-08-30 17:14:05 +0200
committerChris Ball2013-09-26 03:35:40 +0200
commit90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d (patch)
tree719fb73b4dd807f0aa673207ed62cbd170d2628d /include/linux/mmc
parentmmc: dw_mmc: fix error handling on response error (diff)
downloadkernel-qcow2-linux-90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d.tar.gz
kernel-qcow2-linux-90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d.tar.xz
kernel-qcow2-linux-90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d.zip
mmc: dw_mmc: guarantee stop-abort cmd in data errors
In error cases, DTO interrupt may or may not be generated depending on remained data. Stop/Abort command ensures DTO generation for that situation. Currently if 'stop' field of data is empty, there is no stop/abort command. So, it could hang waiting DTO. This change reinforces these cases. Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com> Tested-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/dw_mmc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h
index a829f7ee28c8..6ce7d2cd3c7a 100644
--- a/include/linux/mmc/dw_mmc.h
+++ b/include/linux/mmc/dw_mmc.h
@@ -15,6 +15,7 @@
#define LINUX_MMC_DW_MMC_H
#include <linux/scatterlist.h>
+#include <linux/mmc/core.h>
#define MAX_MCI_SLOTS 2
@@ -129,6 +130,7 @@ struct dw_mci {
struct mmc_request *mrq;
struct mmc_command *cmd;
struct mmc_data *data;
+ struct mmc_command stop_abort;
unsigned int prev_blksz;
unsigned char timing;
struct workqueue_struct *card_workqueue;