[PATCH v1 1/1] spi: npcm: fix uninitialized 'val' warning in receive function
Olof Johansson
olof at lixom.net
Mon Nov 19 08:38:05 AEDT 2018
On Sun, Nov 18, 2018 at 4:36 AM Tomer Maimon <tmaimon77 at gmail.com> wrote:
>
> Fix uninitialized 'val' warning receive function, send function
> has been modify to be aligned with the receive function.
>
> Signed-off-by: Tomer Maimon <tmaimon77 at gmail.com>
> ---
> drivers/spi/spi-npcm-pspi.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/spi/spi-npcm-pspi.c b/drivers/spi/spi-npcm-pspi.c
> index 6dae91091143..f75df49ab84e 100644
> --- a/drivers/spi/spi-npcm-pspi.c
> +++ b/drivers/spi/spi-npcm-pspi.c
> @@ -199,11 +199,11 @@ static void npcm_pspi_send(struct npcm_pspi *priv)
> wsize = min(bytes_per_word(priv->bits_per_word), priv->tx_bytes);
> priv->tx_bytes -= wsize;
>
> - if (priv->tx_buf) {
> - if (wsize == 1)
> - iowrite8(*priv->tx_buf, NPCM_PSPI_DATA + priv->base);
> + if (priv->tx_buf && wsize) {
In general, doing an early:
if (!condition)
return;
is a pattern we prefer in the kernel. Setting up the assumptions at
the beginning of the function makes it easier to follow the code flow,
and saves a level of indentation.
It's a matter of taste though, and this function has only one level.
So, either way is OK. Just mentioning it.
> if (wsize == 2)
> iowrite16(*priv->tx_buf, NPCM_PSPI_DATA + priv->base);
> + else
> + iowrite8(*priv->tx_buf, NPCM_PSPI_DATA + priv->base);
I think this is broken? If wsize is something else than 1 or 2, you'll
do a one-byte write but advance the buffer pointer with a different
amount.
It'll be fairly tricky to debug if this ever happens (it shouldn't,
but still). This is why I added a WARN_ON_ONCE() in my patch instead.
-Olof
More information about the openbmc
mailing list