[lvc-project] [PATCH 5.10] vgem: fix error return in vgem_init()
Fedor Pchelkin
pchelkin at ispras.ru
Mon Sep 22 20:49:14 MSK 2025
On Mon, 22. Sep 17:43, Alexandr Sapozhnkiov wrote:
> @@ -140,8 +140,10 @@ static int __init vgem_init(void)
> goto out_unregister;
> }
>
> - dma_coerce_mask_and_coherent(&pdev->dev,
> + ret = dma_coerce_mask_and_coherent(&pdev->dev,
> DMA_BIT_MASK(64));
DMA_BIT_MASK(64) - это полная маска, т.е. состоящая из всех единиц. При
вызове с таким параметром dma_coerce_mask_and_coherent() не может вернуть
ошибку.
[Documentation/core-api/dma-api-howto.rst]
The standard 64-bit addressing device would do something like this::
dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64))
dma_set_mask_and_coherent() never return fail when DMA_BIT_MASK(64). Typical
error code like::
/* Wrong code */
if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)))
dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32))
> + if (ret)
> + goto out_devres;
>
> vgem_device = devm_drm_dev_alloc(&pdev->dev, &vgem_driver,
> struct vgem_device, drm);
More information about the lvc-project
mailing list