On 12/20/18 12:14 PM, Jagan Teki wrote:
On Fri, Dec 14, 2018 at 3:48 PM Jagan Teki <ja...@amarulasolutions.com> wrote:
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
I don't understand what's the point of doing this?
Didn't find any response on this? Indeed I'm waiting for it.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to