diff options
author | Stefan Mavrodiev <stefan@olimex.com> | 2018-12-05 14:27:57 +0200 |
---|---|---|
committer | Jagan Teki <jagan@amarulasolutions.com> | 2019-01-02 00:54:05 +0530 |
commit | 5c1a87de58092b5a17c20b6debfccaa6cf677fde (patch) | |
tree | 1f40ede5c56d36df6be823417c1ea171ffffb335 | |
parent | 08337cd64832ed7f8147da75013510b92bbcd188 (diff) |
spi: sun4i: Add rx_buf NULL pointer check
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>
-rw-r--r-- | drivers/spi/sun4i_spi.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; } } |