diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2018-10-19 20:44:17 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-10-25 19:17:39 +0200 |
commit | d91dc172e34f6954a94957b012c3b08f4103d5f9 (patch) | |
tree | 39103ed87ac35c033c8df22357ac955cb91e84ff /drivers/block/skd_main.c | |
parent | xen/blkfront: avoid NULL blkfront_info dereference on device removal (diff) | |
download | linux-d91dc172e34f6954a94957b012c3b08f4103d5f9.tar.xz linux-d91dc172e34f6954a94957b012c3b08f4103d5f9.zip |
skd: fix unchecked return values
Check return values of dma_set_mask_and_coherent().
Otherwise, if dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
fails, the following piece of code will be executed even when the call
to dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0:
dev_err(&pdev->dev, "DMA mask error %d\n", rc);
goto err_out_regions;
Addresses-Coverity-ID: 1474553 ("Unchecked return value")
Fixes: 138126214868 ("skd: switch to the generic DMA API")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to '')
-rw-r--r-- | drivers/block/skd_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c index 7c5fc6942f32..2459dcc04b1c 100644 --- a/drivers/block/skd_main.c +++ b/drivers/block/skd_main.c @@ -3175,7 +3175,7 @@ static int skd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto err_out; rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (rc) { dev_err(&pdev->dev, "DMA mask error %d\n", rc); goto err_out_regions; @@ -3364,7 +3364,7 @@ static int skd_pci_resume(struct pci_dev *pdev) goto err_out; rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (rc) { dev_err(&pdev->dev, "DMA mask error %d\n", rc); goto err_out_regions; |