summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorSri Krishna chowdary <schowdary@nvidia.com>2012-10-29 18:06:12 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 01:13:08 -0700
commitdf13b520b73015e2454ad9625e557bd2f0512b52 (patch)
tree341243d60403c57844282916bc80908d2e33d7e5 /drivers/spi
parent6ffda4a2a5b74df145f5f6b41583c937eb39e218 (diff)
spi: tegra11: add NULL check
fix coverity issue. Add Null check before dereferencing t->tx_buf and tspi->cur. Bug 1046331 Change-Id: I2ff53b1945b4ee9a0d87e23816df7f2a3f1464fe Signed-off-by: Sri Krishna chowdary <schowdary@nvidia.com> Reviewed-on: http://git-master/r/159542 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com> Rebase-Id: Rdfdd30e776c7196b41e28943b22d6a9b19a9d4b1
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-tegra11.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/spi/spi-tegra11.c b/drivers/spi/spi-tegra11.c
index 80fc92d670b8..a01d5d2024d8 100644
--- a/drivers/spi/spi-tegra11.c
+++ b/drivers/spi/spi-tegra11.c
@@ -465,7 +465,8 @@ static void spi_tegra_copy_client_txbuf_to_spi_txbuf(
if (tspi->is_packed) {
len = tspi->curr_dma_words * tspi->bytes_per_word;
- memcpy(tspi->tx_buf, t->tx_buf + tspi->cur_pos, len);
+ if (t->tx_buf)
+ memcpy(tspi->tx_buf, t->tx_buf + tspi->cur_pos, len);
} else {
unsigned int i;
unsigned int count;
@@ -992,7 +993,8 @@ static void spi_tegra_curr_transfer_complete(struct spi_tegra_data *tspi,
m->actual_length += cur_xfer_size;
- if (!list_is_last(&tspi->cur->transfer_list, &m->transfers)) {
+ if (tspi->cur &&
+ !list_is_last(&tspi->cur->transfer_list, &m->transfers)) {
tspi->cur = list_first_entry(&tspi->cur->transfer_list,
struct spi_transfer, transfer_list);
spin_unlock_irqrestore(&tspi->lock, *irq_flags);