[U-Boot] [PATCH 2/2] mmc: dw_mmc: fix data starvation by host timeout under FIFO mode

Jaehoon Chung jh80.chung at samsung.com
Thu Jul 28 10:09:26 CEST 2016


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 <jh80.chung at samsung.com>

Best Regards,
Jaehoon Chung

> 
> Signed-off-by: Ziyuan Xu <xzy.xu at rock-chips.com>
> ---
> 
>  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)) {
> 



More information about the U-Boot mailing list