spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function
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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Shubhrajyoti's email address is dead. Also the rx function omap2_mcspi_rx_dma() has the same issue.
regards,
dan carpenter
Quoted 38 lines · Dan Carpenter
Hello Shubhrajyoti D,
This is a semi-automatic email about new static checker warnings.
The patch
d7b4394e780b: "spi: omap2-mcspi: Cleanup theomap2_mcspi_txrx_dmafunction" from Sep 11, 2012, leads to the following Smatch complaint:
drivers/spi/spi-omap2-mcspi.c:425omap2_mcspi_tx_dma()error: we previously assumed 'mcspi_dma->dma_tx' could be null (see line 405)
drivers/spi/spi-omap2-mcspi.c
404405 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); ^^^^^^^^^^^^^^^^^
Quoted 8 lines
Dereferenced inside the function call. Probably it should be moved inside the if condition.
426 omap2_mcspi_set_dma_req(spi, 0, 1); 427regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html