aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2015-04-19 19:00:53 -0400
committerMark Yao <mark.yao@rock-chips.com>2015-04-19 21:02:31 -0400
commit3ea68922fc4148abc97557df43d4ba9a136b1c8d (patch)
tree68738f2926b5c5fc0d6bc7318d52499cc87294d2
parent625e03461ba51592ac785214b2254af7bd630077 (diff)
drm/rockchip: fix error check when getting irq
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@hotmail.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-By: Daniel Kurtz <djkurtz@chromium.org>
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_vop.c9
1 files 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 ccb0ce073ef2..4557f335a8a5 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)
1409 struct vop *vop; 1409 struct vop *vop;
1410 struct resource *res; 1410 struct resource *res;
1411 size_t alloc_size; 1411 size_t alloc_size;
1412 int ret; 1412 int ret, irq;
1413 1413
1414 of_id = of_match_device(vop_driver_dt_match, dev); 1414 of_id = of_match_device(vop_driver_dt_match, dev);
1415 vop_data = of_id->data; 1415 vop_data = of_id->data;
@@ -1445,11 +1445,12 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
1445 return ret; 1445 return ret;
1446 } 1446 }
1447 1447
1448 vop->irq = platform_get_irq(pdev, 0); 1448 irq = platform_get_irq(pdev, 0);
1449 if (vop->irq < 0) { 1449 if (irq < 0) {
1450 dev_err(dev, "cannot find irq for vop\n"); 1450 dev_err(dev, "cannot find irq for vop\n");
1451 return vop->irq; 1451 return irq;
1452 } 1452 }
1453 vop->irq = (unsigned int)irq;
1453 1454
1454 spin_lock_init(&vop->reg_lock); 1455 spin_lock_init(&vop->reg_lock);
1455 spin_lock_init(&vop->irq_lock); 1456 spin_lock_init(&vop->irq_lock);