From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaehoon Chung Date: Thu, 28 Jul 2016 17:09:26 +0900 Subject: [U-Boot] [PATCH 2/2] mmc: dw_mmc: fix data starvation by host timeout under FIFO mode In-Reply-To: <1469672748-21986-2-git-send-email-xzy.xu@rock-chips.com> References: <1469672748-21986-1-git-send-email-xzy.xu@rock-chips.com> <1469672748-21986-2-git-send-email-xzy.xu@rock-chips.com> Message-ID: <5799BDB6.3050905@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Ziyuan, On 07/28/2016 11:25 AM, Ziyuan Xu wrote: > This patch fixes data starvation by host timeout(HTO) error interrupt > which occurred under FIFO mode transfer on rk3036 board. > > The former implement, the actual bytes were transmitted may be less than > should be. The size will still subtract value of len in case of there is > no receive/transmit FIFO data request interrupt. Looks good to me. Acked-by: Jaehoon Chung Best Regards, Jaehoon Chung > > Signed-off-by: Ziyuan Xu > --- > > drivers/mmc/dw_mmc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 38d4a64..41b7035 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -120,6 +120,7 @@ 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) { > if ((dwmci_readl(host, DWMCI_RINTSTS) & > DWMCI_INTMSK_RXDR)) { >