V4L/DVB (6031): Fix for bug 7819: fixed hotplugging for dvbnet
authorTrent Piepho <xyzzy@speakeasy.org>
Fri, 17 Aug 2007 20:49:41 +0000 (17:49 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 10 Oct 2007 01:05:21 +0000 (22:05 -0300)
The first part of dvb_net_close() is just a cut&paste from
dvb_generic_release(), so maybe it would be better to just call
dvb_generic_release() instead?

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Acked-by: Markus Rechberger <mrechberger@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/dvb-core/dvb_net.c

index b9c78d03a7fe6f98e23c60995da650cc755847ef..13e2998a40434505468396090b34b110577c8ecd 100644 (file)
@@ -1441,18 +1441,9 @@ static int dvb_net_close(struct inode *inode, struct file *file)
        struct dvb_device *dvbdev = file->private_data;
        struct dvb_net *dvbnet = dvbdev->priv;
 
-       if (!dvbdev)
-               return -ENODEV;
+       dvb_generic_release(inode, file);
 
-       if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
-               dvbdev->readers++;
-       } else {
-               dvbdev->writers++;
-       }
-
-       dvbdev->users++;
-
-       if(dvbdev->users == 1 && dvbnet->exit==1) {
+       if(dvbdev->users == 1 && dvbnet->exit == 1) {
                fops_put(file->f_op);
                file->f_op = NULL;
                wake_up(&dvbdev->wait_queue);