Skip to content

Commit

Permalink
spi: qup: hide warning for uninitialized variable
Browse files Browse the repository at this point in the history
The added conditionals in this function apparently confused
gcc to the point that it no longer sees the code is safe and
instead shows a false-positive warning:

drivers/spi/spi-qup.c: In function 'spi_qup_transfer_one':
drivers/spi/spi-qup.c:507:28: error: 'tx_nents' may be used uninitialized in this function [-Werror=maybe-uninitialized]
drivers/spi/spi-qup.c:464:17: note: 'tx_nents' was declared here
drivers/spi/spi-qup.c:505:28: error: 'rx_nents' may be used uninitialized in this function [-Werror=maybe-uninitialized]
drivers/spi/spi-qup.c:464:7: note: 'rx_nents' was declared here

This moves the initialization to a place that makes it obvious
to the compiler.

Fixes: 5884e17 ("spi: qup: allow multiple DMA transactions per spi xfer")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Arnd Bergmann authored and Mark Brown committed Aug 10, 2017
1 parent 4d02373 commit 6f38f12
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions drivers/spi/spi-qup.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,8 +427,6 @@ static u32 spi_qup_sgl_get_nents_len(struct scatterlist *sgl, u32 max,
struct scatterlist *sg;
u32 total = 0;

*nents = 0;

for (sg = sgl; sg; sg = sg_next(sg)) {
unsigned int len = sg_dma_len(sg);

Expand Down Expand Up @@ -461,7 +459,7 @@ static int spi_qup_do_dma(struct spi_device *spi, struct spi_transfer *xfer,
tx_sgl = xfer->tx_sg.sgl;

do {
u32 rx_nents, tx_nents;
u32 rx_nents = 0, tx_nents = 0;

if (rx_sgl)
qup->n_words = spi_qup_sgl_get_nents_len(rx_sgl,
Expand Down

0 comments on commit 6f38f12

Please sign in to comment.