On Wed, Dec 5, 2018 at 5:58 PM Stefan Mavrodiev <ste...@olimex.com> wrote:
>
> Current driver doesn't check if the destination pointer is NULL.
> This cause the data from the FIFO to be stored inside the internal
> SDRAM ( address 0 ).
>
> The patch add simple check if the destination pointer is NULL.
>
> Signed-off-by: Stefan Mavrodiev <ste...@olimex.com>
> ---
>  drivers/spi/sun4i_spi.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/sun4i_spi.c b/drivers/spi/sun4i_spi.c
> index b86b5a00ad..38cc743c61 100644
> --- a/drivers/spi/sun4i_spi.c
> +++ b/drivers/spi/sun4i_spi.c
> @@ -129,7 +129,8 @@ static inline void sun4i_spi_drain_fifo(struct 
> sun4i_spi_priv *priv, int len)
>
>         while (len--) {
>                 byte = readb(&priv->regs->rxdata);
> -               *priv->rx_buf++ = byte;
> +               if (priv->rx_buf)
> +                       *priv->rx_buf++ = byte;

Acked-by: Jagan Teki <ja...@openedev.com>

But, have you tested how much data in the fifo before drained? It's
better we can get the available data before reading via fifo_sta
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to