Re: spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Shubhrajyoti's email address is dead.  Also the rx function
omap2_mcspi_rx_dma() has the same issue.

regards,
dan carpenter

On Fri, Apr 11, 2014 at 02:20:21PM +0300, Dan Carpenter wrote:
> Hello Shubhrajyoti D,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch d7b4394e780b: "spi: omap2-mcspi: Cleanup the 
> omap2_mcspi_txrx_dma function" from Sep 11, 2012, leads to the 
> following Smatch complaint:
> 
> drivers/spi/spi-omap2-mcspi.c:425 omap2_mcspi_tx_dma()
> 	 error: we previously assumed 'mcspi_dma->dma_tx' could be null (see line 405)
> 
> drivers/spi/spi-omap2-mcspi.c
>    404	
>    405		if (mcspi_dma->dma_tx) {
>                     ^^^^^^^^^^^^^^^^^
> Check for NULL.
> 
>    406			struct dma_async_tx_descriptor *tx;
>    407			struct scatterlist sg;
>    408	
>    409			dmaengine_slave_config(mcspi_dma->dma_tx, &cfg);
>    410	
>    411			sg_init_table(&sg, 1);
>    412			sg_dma_address(&sg) = xfer->tx_dma;
>    413			sg_dma_len(&sg) = xfer->len;
>    414	
>    415			tx = dmaengine_prep_slave_sg(mcspi_dma->dma_tx, &sg, 1,
>    416			DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
>    417			if (tx) {
>    418				tx->callback = omap2_mcspi_tx_callback;
>    419				tx->callback_param = spi;
>    420				dmaengine_submit(tx);
>    421			} else {
>    422				/* FIXME: fall back to PIO? */
>    423			}
>    424		}
>    425		dma_async_issue_pending(mcspi_dma->dma_tx);
>                                         ^^^^^^^^^^^^^^^^^
> Dereferenced inside the function call.  Probably it should be moved
> inside the if condition.
> 
>    426		omap2_mcspi_set_dma_req(spi, 0, 1);
>    427	
> 
> regards,
> dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux