media: rc: ensure close() is called on rc_unregister_device
authorSean Young <sean@mess.org>
Sun, 4 Nov 2018 10:12:09 +0000 (05:12 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 22 Nov 2018 18:33:24 +0000 (13:33 -0500)
If userspace has an open file descriptor on the rc input device or lirc
device when rc_unregister_device() is called, then the rc close() is
never called.

This ensures that the receiver is turned off on the nuvoton-cir driver
during shutdown.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/rc/rc-main.c

index 877978d..66a1749 100644 (file)
@@ -1952,6 +1952,8 @@ void rc_unregister_device(struct rc_dev *dev)
        rc_free_rx_device(dev);
 
        mutex_lock(&dev->lock);
+       if (dev->users && dev->close)
+               dev->close(dev);
        dev->registered = false;
        mutex_unlock(&dev->lock);