>------- Original Message ------- >Sender : Jaehoon Chung<jh80.chung@xxxxxxxxxxx> S4/Engineer/System S/W Lab./Samsung Electronics >Date : Oct 07, 2013 13:34 (GMT+09:00) >Title : Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD error flag >On 10/07/2013 01:22 PM, ALIM AKHTAR wrote: >> Hi Jaehoon, >> >>> ------- Original Message ------- >>> Sender : Jaehoon Chung S4/Engineer/System S/W Lab./Samsung Electronics >>> Date : Oct 06, 2013 17:28 (GMT+09:00) >> Title : Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD error flag > >> Hi Alim, > >> On 10/03/2013 06:18 PM, alim akhtar wrote: >>> From: Alim Akhtar >>> >>> Hardware locked error set when the dw_mmc controller cannot load a >>> command issued by software. When software sets the start_cmd bit in the >>> CMD register, the controller tries to load the command. If the command >>> buffer is already filled with a command, this error is raised. Currently >>> driver does not handle HLE interrupt, which results in a system hang. >> When SDMMC_INT_HLE is set into CMD_ERROR_FLAGS,.then could driver handle the HLE interrupt? > Yes, this will be handled as a part of DW_MCI_CMD_ERROR_FLAGS error handling. >Could some command or data be lost? No, Data and command will not be lost as they are not send out. >> >>> Best Regards, >>> Jaehoon Chung >>> >>> HLE can be simulated by quickly inserting and removing sd card in card >>> slot (30 ~ 40 times in say 20 secs) >>> >>> Reviewed-by: Doug Anderson >>> Signed-off-by: Alim Akhtar >>> --- >>> drivers/mmc/host/dw_mmc.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >>> index 0a6a512..24b4a52 100644 >>> --- a/drivers/mmc/host/dw_mmc.c >>> +++ b/drivers/mmc/host/dw_mmc.c >>> @@ -44,7 +44,7 @@ >>> SDMMC_INT_HTO | SDMMC_INT_SBE | \ >>> SDMMC_INT_EBE) >>> #define DW_MCI_CMD_ERROR_FLAGS (SDMMC_INT_RTO | SDMMC_INT_RCRC | \ >>> - SDMMC_INT_RESP_ERR) >>> + SDMMC_INT_RESP_ERR | SDMMC_INT_HLE) >>> #define DW_MCI_ERROR_FLAGS (DW_MCI_DATA_ERROR_FLAGS | \ >>> DW_MCI_CMD_ERROR_FLAGS | SDMMC_INT_HLE) >>> #define DW_MCI_SEND_STATUS 1 >>> N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±šg"žØ^n‡r¡ö¦zË?ëh™¨èÚ&¢ø®G«?éh®(階ŠÝ¢j"?ú¶m§ÿï?êäz¹Þ–Šàþf£¢·hšˆ§~ˆmml==ÿôèº{.nÇ+‰·Ÿ®‰†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þiœþ)í…æèw*jg¬±¨¶‰šŽŠÝ¢jÿ¾«þG«?éÿ¢¸¢·¦j:+v‰¨ŠwèjØm¶Ÿÿþø¯ù®w¥þŠàþf£¢·hš?â?úÿ†Ù¥