diff options
author | Sri Krishna chowdary <schowdary@nvidia.com> | 2012-10-29 18:06:12 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 01:13:08 -0700 |
commit | df13b520b73015e2454ad9625e557bd2f0512b52 (patch) | |
tree | 341243d60403c57844282916bc80908d2e33d7e5 /drivers/spi | |
parent | 6ffda4a2a5b74df145f5f6b41583c937eb39e218 (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.c | 6 |
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); |