aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorErik Gilling <konkers@android.com>2010-09-08 21:16:45 -0400
committerErik Gilling <konkers@android.com>2010-10-25 19:57:46 -0400
commitf41649e040b1f63e809fb2adb78ed2f3c3ebbcd0 (patch)
tree1386191824282de175fa5453907ea1a8bb08bfa4 /drivers/spi
parent0c03a1dd5bd8a37932ae1d519156172affef22fd (diff)
spi: tegra: fix error setting on timeout
avoids derefencing an uninitialized pointer Change-Id: Icf528441ae481e9f6f5ddc0be32c7c217fa49701 Signed-off-by: Erik Gilling <konkers@android.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi_tegra.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/spi/spi_tegra.c b/drivers/spi/spi_tegra.c
index 0385fde202a6..bb7df02a5472 100644
--- a/drivers/spi/spi_tegra.c
+++ b/drivers/spi/spi_tegra.c
@@ -338,15 +338,15 @@ static void tegra_spi_rx_dma_complete(struct tegra_dma_req *req)
338 338
339 spin_lock_irqsave(&tspi->lock, flags); 339 spin_lock_irqsave(&tspi->lock, flags);
340 340
341 if (timeout >= 1000)
342 m->status = -EIO;
343
344 val = spi_tegra_readl(tspi, SLINK_STATUS); 341 val = spi_tegra_readl(tspi, SLINK_STATUS);
345 val |= SLINK_RDY; 342 val |= SLINK_RDY;
346 spi_tegra_writel(tspi, val, SLINK_STATUS); 343 spi_tegra_writel(tspi, val, SLINK_STATUS);
347 344
348
349 m = list_first_entry(&tspi->queue, struct spi_message, queue); 345 m = list_first_entry(&tspi->queue, struct spi_message, queue);
346
347 if (timeout >= 1000)
348 m->status = -EIO;
349
350 spi = m->state; 350 spi = m->state;
351 351
352 tspi->cur_pos += spi_tegra_drain_rx_fifo(tspi, tspi->cur); 352 tspi->cur_pos += spi_tegra_drain_rx_fifo(tspi, tspi->cur);