spi: sun4i: Add rx_buf NULL pointer check
authorStefan Mavrodiev <stefan@olimex.com>
Wed, 5 Dec 2018 12:27:57 +0000 (14:27 +0200)
committerJagan Teki <jagan@amarulasolutions.com>
Tue, 1 Jan 2019 19:24:05 +0000 (00:54 +0530)
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@olimex.com>
Acked-by: Jagan Teki <jagan@openedev.com>
[jagan: fix commit message]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
drivers/spi/sun4i_spi.c

index b86b5a00adb9032672daaa02b640b2199002986d..38cc743c6144d9819d8f4c0fba7e932ef9d5ddf0 100644 (file)
@@ -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;
        }
 }