diff options
author | Seungwon Jeon <tgih.jun@samsung.com> | 2013-08-31 00:14:05 +0900 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-09-25 21:35:40 -0400 |
commit | 90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d (patch) | |
tree | 719fb73b4dd807f0aa673207ed62cbd170d2628d /include/linux | |
parent | 71abb1339436160b6ab0ae2f816a4046c7328f28 (diff) | |
download | linux-stable-90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d.tar.gz linux-stable-90c2143a8f6d0cd1dbae1ea32fcd1befb81e4b0d.tar.bz2 linux-stable-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')
-rw-r--r-- | include/linux/mmc/dw_mmc.h | 2 |
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; |