drm/panfrost: Check for error num after setting mask
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Thu, 6 Jan 2022 03:03:26 +0000 (11:03 +0800)
committerSteven Price <steven.price@arm.com>
Wed, 12 Jan 2022 15:49:55 +0000 (15:49 +0000)
Because of the possible failure of the dma_supported(), the
dma_set_mask_and_coherent() may return error num.
Therefore, it should be better to check it and return the error if
fails.

Fixes: f3ba91228e8e ("drm/panfrost: Add initial panfrost driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
[Steve: fix Fixes: line]
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220106030326.2620942-1-jiasheng@iscas.ac.cn
drivers/gpu/drm/panfrost/panfrost_gpu.c

index bbe628b306ee3741d3ddf4511600313b79fab43c..f8355de6e335d54f233f1eb176a227df619bccfd 100644 (file)
@@ -360,8 +360,11 @@ int panfrost_gpu_init(struct panfrost_device *pfdev)
 
        panfrost_gpu_init_features(pfdev);
 
-       dma_set_mask_and_coherent(pfdev->dev,
+       err = dma_set_mask_and_coherent(pfdev->dev,
                DMA_BIT_MASK(FIELD_GET(0xff00, pfdev->features.mmu_features)));
+       if (err)
+               return err;
+
        dma_set_max_seg_size(pfdev->dev, UINT_MAX);
 
        irq = platform_get_irq_byname(to_platform_device(pfdev->dev), "gpu");