From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Date: Wed, 5 Dec 2018 16:46:19 +0100 Subject: [U-Boot] [PATCH 1/1] arm: sunxi: Add NULL pointer check In-Reply-To: <20181205122757.14523-1-stefan@olimex.com> References: <20181205122757.14523-1-stefan@olimex.com> Message-ID: <20181205154619.ffzfl7yt6vfo3qra@flea> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Dec 05, 2018 at 02:27:57PM +0200, Stefan Mavrodiev 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 > --- > 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; It seems pretty inefficient to test the pointer at each access, it would be better to check it once before starting the transfer. I'm not sure if that can even happen? Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 228 bytes Desc: not available URL: