drm/rockchip: fix error check when getting irq

A patch from »MAINTAINERS: add entry for Rockchip drm drivers« in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Fri, 17 Apr 2015 22:08:14 +0200

Commit-Message

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@...> Signed-off-by: Heiko Stuebner <heiko@...> Reviewed-By: Daniel Kurtz <djkurtz@...>

Patch-Comment

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(-)

Statistics

  • 5 lines added
  • 4 lines removed

Changes

----------------- drivers/gpu/drm/rockchip/rockchip_drm_vop.c ------------------
index ccb0ce0..0e539d8 100644
@@ -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);
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...