[PATCH] drm/rockchip: fix dma_alloc_attrs() error check

Daniel Kurtz djkurtz at chromium.org
Thu Jan 8 20:01:21 PST 2015


On Wed, Jan 7, 2015 at 5:27 PM, Daniel Kurtz <djkurtz at chromium.org> wrote:
> dma_alloc_attrs() returns NULL if it cannot allocate a dma buffer (or
> mapping), not a negative error code.
>
> Rerported-by: Pawel Osciak <posciak at chromium.org>

Oops!  I just noticed that this is spelled wrong.  Should be "Reported-by".

Mark, could you fix up on your tree, or is it too late?

> Signed-off-by: Daniel Kurtz <djkurtz at chromium.org>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> index bc98a22..7ca8799e 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> @@ -34,12 +34,9 @@ static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj)
>         rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size,
>                                          &rk_obj->dma_addr, GFP_KERNEL,
>                                          &rk_obj->dma_attrs);
> -       if (IS_ERR(rk_obj->kvaddr)) {
> -               int ret = PTR_ERR(rk_obj->kvaddr);
> -
> -               DRM_ERROR("failed to allocate %#x byte dma buffer, %d",
> -                         obj->size, ret);
> -               return ret;
> +       if (!rk_obj->kvaddr) {
> +               DRM_ERROR("failed to allocate %#x byte dma buffer", obj->size);
> +               return -ENOMEM;
>         }
>
>         return 0;
> --
> 2.2.0.rc0.207.ga3a616c
>



More information about the Linux-rockchip mailing list