summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorStefan Mavrodiev <stefan@olimex.com>2018-12-05 15:27:57 +0300
committerJagan Teki <jagan@amarulasolutions.com>2019-01-01 22:24:05 +0300
commit5c1a87de58092b5a17c20b6debfccaa6cf677fde (patch)
tree1f40ede5c56d36df6be823417c1ea171ffffb335 /drivers/spi
parent08337cd64832ed7f8147da75013510b92bbcd188 (diff)
downloadu-boot-5c1a87de58092b5a17c20b6debfccaa6cf677fde.tar.xz
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>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/sun4i_spi.c3
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;
}
}