Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
  2. index 3b601b0e43..5c4d17de89 100644
  3. --- a/drivers/mmc/dw_mmc.c
  4. +++ b/drivers/mmc/dw_mmc.c
  5. @@ -138,7 +138,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
  6. if (host->fifo_mode && size) {
  7. len = 0;
  8. if (data->flags == MMC_DATA_READ &&
  9. - (mask & DWMCI_INTMSK_RXDR)) {
  10. + (mask & DWMCI_INTMSK_RXDR ||
  11. + mask & DWMCI_INTMSK_DTO)) {
  12. while (size) {
  13. ret = dwmci_fifo_ready(host,
  14. DWMCI_FIFO_EMPTY,
  15. @@ -157,7 +158,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
  16. dwmci_writel(host, DWMCI_RINTSTS,
  17. DWMCI_INTMSK_RXDR);
  18. } else if (data->flags == MMC_DATA_WRITE &&
  19. - (mask & DWMCI_INTMSK_TXDR)) {
  20. + (mask & DWMCI_INTMSK_TXDR ||
  21. + mask & DWMCI_INTMSK_DTO)) {
  22. while (size) {
  23. ret = dwmci_fifo_ready(host,
  24. DWMCI_FIFO_FULL,
  25. @@ -179,11 +181,8 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
  26. }
  27. }
  28.  
  29. - /* Data arrived correctly. */
  30. - if (mask & DWMCI_INTMSK_DTO) {
  31. - ret = 0;
  32. + if (size == 0)
  33. break;
  34. - }
  35.  
  36. /* Check for timeout. */
  37. if (get_timer(start) > timeout) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement