diff options
| author | Heiko Stuebner <heiko@sntech.de> | 2015-04-19 19:00:53 -0400 |
|---|---|---|
| committer | Mark Yao <mark.yao@rock-chips.com> | 2015-04-19 21:02:31 -0400 |
| commit | 3ea68922fc4148abc97557df43d4ba9a136b1c8d (patch) | |
| tree | 68738f2926b5c5fc0d6bc7318d52499cc87294d2 | |
| parent | 625e03461ba51592ac785214b2254af7bd630077 (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.c | 9 |
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); |
