OSDN Git Service

i2c-msm-v2: Add NULL pointer check for DMA descriptor
authorShrey Vijay <shreyv@codeaurora.org>
Thu, 22 Feb 2018 09:33:03 +0000 (15:03 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Thu, 14 Jun 2018 09:03:26 +0000 (02:03 -0700)
Add NULL pointer check for RX/TX DMA descriptors to avoid
NULL dereference.

Change-Id: I71443204e79eb1afc37a6b312cf4aa9adcaa22c6
Signed-off-by: Shrey Vijay <shreyv@codeaurora.org>
drivers/i2c/busses/i2c-msm-v2.c

index 67261bc..d72953f 100644 (file)
@@ -1274,10 +1274,10 @@ static int i2c_msm_dma_xfer_process(struct i2c_msm_ctrl *ctrl)
                                                tx->dir,
                                                (SPS_IOVEC_FLAG_EOT |
                                                        SPS_IOVEC_FLAG_NWD));
-       if (dma_desc_tx < 0) {
+       if (IS_ERR_OR_NULL(dma_desc_tx)) {
                dev_err(ctrl->dev, "error dmaengine_prep_slave_sg tx:%ld\n",
                                                        PTR_ERR(dma_desc_tx));
-               ret = PTR_ERR(dma_desc_tx);
+               ret = dma_desc_tx ? PTR_ERR(dma_desc_tx) : -ENOMEM;
                goto dma_xfer_end;
        }
 
@@ -1292,11 +1292,11 @@ static int i2c_msm_dma_xfer_process(struct i2c_msm_ctrl *ctrl)
                                        sg_rx_itr - sg_rx, rx->dir,
                                        (SPS_IOVEC_FLAG_EOT |
                                                        SPS_IOVEC_FLAG_NWD));
-       if (dma_desc_rx < 0) {
+       if (IS_ERR_OR_NULL(dma_desc_rx)) {
                dev_err(ctrl->dev,
                        "error dmaengine_prep_slave_sg rx:%ld\n",
                                                PTR_ERR(dma_desc_rx));
-               ret = PTR_ERR(dma_desc_rx);
+               ret = dma_desc_rx ? PTR_ERR(dma_desc_rx) : -ENOMEM;
                goto dma_xfer_end;
        }