[U-Boot] [PATCH 1/1] arm: sunxi: Add NULL pointer check

Jagan Teki jagan at amarulasolutions.com
Fri Dec 14 10:18:18 UTC 2018


On Wed, Dec 5, 2018 at 5:58 PM Stefan Mavrodiev <stefan at 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 <stefan at 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 <jagan at 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


More information about the U-Boot mailing list