[PATCH v2 2/2] drm/rockchip: fix error check when getting irq
Mark yao
mark.yao at rock-chips.com
Sun Apr 19 18:33:33 PDT 2015
On 2015年04月20日 07:00, Heiko Stübner wrote:
> platform_get_irq() can return negative error values and we already test for
> these. Therefore the variable holding this value should be signed to not
> loose possible error values.
>
> Reported-by: David Binderman <dcb314 at hotmail.com>
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> Reviewed-By: Daniel Kurtz <djkurtz at chromium.org>
> ---
> changed since v1:
> - instead of making irq in struct vop signed use a
> separate local irq int in vop_bind as suggested by Daniel Kurtz
>
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index ccb0ce0..0e539d8 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -1409,7 +1409,7 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
> struct vop *vop;
> struct resource *res;
> size_t alloc_size;
> - int ret;
> + int ret, irq;
>
> of_id = of_match_device(vop_driver_dt_match, dev);
> vop_data = of_id->data;
> @@ -1445,11 +1445,12 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
> return ret;
> }
>
> - vop->irq = platform_get_irq(pdev, 0);
> - if (vop->irq < 0) {
> + irq = platform_get_irq(pdev, 0);
> + if (irq < 0) {
> dev_err(dev, "cannot find irq for vop\n");
> - return vop->irq;
> + return irq;
> }
> + vop->irq = (unsigned int)irq;
>
> spin_lock_init(&vop->reg_lock);
> spin_lock_init(&vop->irq_lock);
Thanks for fix, I have sent the Pull request.:-)
--
Mark
More information about the dri-devel
mailing list