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