V4L/DVB (6031): Fix for bug 7819: fixed hotplugging for dvbnet
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>
This commit is contained in:
Родитель
89d969a39d
Коммит
82e67246cd
|
@ -1441,18 +1441,9 @@ static int dvb_net_close(struct inode *inode, struct file *file)
|
||||||
struct dvb_device *dvbdev = file->private_data;
|
struct dvb_device *dvbdev = file->private_data;
|
||||||
struct dvb_net *dvbnet = dvbdev->priv;
|
struct dvb_net *dvbnet = dvbdev->priv;
|
||||||
|
|
||||||
if (!dvbdev)
|
dvb_generic_release(inode, file);
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
|
if(dvbdev->users == 1 && dvbnet->exit == 1) {
|
||||||
dvbdev->readers++;
|
|
||||||
} else {
|
|
||||||
dvbdev->writers++;
|
|
||||||
}
|
|
||||||
|
|
||||||
dvbdev->users++;
|
|
||||||
|
|
||||||
if(dvbdev->users == 1 && dvbnet->exit==1) {
|
|
||||||
fops_put(file->f_op);
|
fops_put(file->f_op);
|
||||||
file->f_op = NULL;
|
file->f_op = NULL;
|
||||||
wake_up(&dvbdev->wait_queue);
|
wake_up(&dvbdev->wait_queue);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче