
On Fri, Dec 14, 2018 at 03:48:18PM +0530, Jagan Teki wrote:
On Wed, Dec 5, 2018 at 5:58 PM Stefan Mavrodiev stefan@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 stefan@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 jagan@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
This patch shouldn't be merged in its current state. Please look at the on-going discussion.
Maxime