upstream: [media] media: rc: rdev->open or rdev->close can be NULL
authorJuergen Lock <nox@jelal.kn-bremen.de>
Fri, 16 Aug 2013 18:00:24 +0000 (15:00 -0300)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:58:47 +0000 (11:58 +0900)
At least technisat-usb2.c doesn't set these...

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/rc/rc-main.c

index 5e5a3cb..893bd1f 100644 (file)
@@ -712,7 +712,7 @@ int rc_open(struct rc_dev *rdev)
                return -EINVAL;
 
        mutex_lock(&rdev->lock);
-       if (!rdev->users++)
+       if (!rdev->users++ && rdev->open != NULL)
                rval = rdev->open(rdev);
 
        if (rval)
@@ -736,7 +736,7 @@ void rc_close(struct rc_dev *rdev)
        if (rdev) {
                mutex_lock(&rdev->lock);
 
-                if (!--rdev->users)
+                if (!--rdev->users && rdev->close != NULL)
                        rdev->close(rdev);
 
                mutex_unlock(&rdev->lock);