Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
- index 3b601b0e43..5c4d17de89 100644
- --- a/drivers/mmc/dw_mmc.c
- +++ b/drivers/mmc/dw_mmc.c
- @@ -138,7 +138,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
- if (host->fifo_mode && size) {
- len = 0;
- if (data->flags == MMC_DATA_READ &&
- - (mask & DWMCI_INTMSK_RXDR)) {
- + (mask & DWMCI_INTMSK_RXDR ||
- + mask & DWMCI_INTMSK_DTO)) {
- while (size) {
- ret = dwmci_fifo_ready(host,
- DWMCI_FIFO_EMPTY,
- @@ -157,7 +158,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
- dwmci_writel(host, DWMCI_RINTSTS,
- DWMCI_INTMSK_RXDR);
- } else if (data->flags == MMC_DATA_WRITE &&
- - (mask & DWMCI_INTMSK_TXDR)) {
- + (mask & DWMCI_INTMSK_TXDR ||
- + mask & DWMCI_INTMSK_DTO)) {
- while (size) {
- ret = dwmci_fifo_ready(host,
- DWMCI_FIFO_FULL,
- @@ -179,11 +181,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
- }
- }
- - /* Data arrived correctly. */
- - if (mask & DWMCI_INTMSK_DTO) {
- - ret = 0;
- + if (size == 0)
- break;
- - }
- /* Check for timeout. */
- if (get_timer(start) > timeout) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement