skd: fix unchecked return values
PATCH 1/1 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")
--- drivers/block/skd_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/block/skd_main.c +2 -2
@@ -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;
Signature · 1 line
2.7.4
Quoted 6 lines · Gustavo A. R. Silva
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 todma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0:
Quoted 6 lines
dev_err(&pdev->dev, "DMA mask error %d\n", rc);
gotoerr_out_regions;Addresses-Coverity-ID: 1474553 ("Unchecked return value")
Fixes 138126214868 ("skd: switch to the generic DMA API")Signed-off-by Gustavo A. R. Silva <[email protected]>
Thanks, looks good:
Quoted 8 lines · Gustavo A. R. Silva
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 todma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0:
dev_err(&pdev->dev, "DMA mask error %d\n", rc);
gotoerr_out_regions;
Applied, thanks.
Signature · 1 line
Jens Axboe