|
@@ -1014,6 +1014,13 @@ static int dvb_frontend_open(struct inode *inode, struct file *file)
|
|
if ((ret = dvb_generic_open (inode, file)) < 0)
|
|
if ((ret = dvb_generic_open (inode, file)) < 0)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
|
|
+ if (fe->ops.ts_bus_ctrl) {
|
|
|
|
+ if ((ret = fe->ops.ts_bus_ctrl (fe, 1)) < 0) {
|
|
|
|
+ dvb_generic_release (inode, file);
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
if ((file->f_flags & O_ACCMODE) != O_RDONLY) {
|
|
if ((file->f_flags & O_ACCMODE) != O_RDONLY) {
|
|
|
|
|
|
/* normal tune mode when opened R/W */
|
|
/* normal tune mode when opened R/W */
|
|
@@ -1043,6 +1050,9 @@ static int dvb_frontend_release(struct inode *inode, struct file *file)
|
|
if ((file->f_flags & O_ACCMODE) != O_RDONLY)
|
|
if ((file->f_flags & O_ACCMODE) != O_RDONLY)
|
|
fepriv->release_jiffies = jiffies;
|
|
fepriv->release_jiffies = jiffies;
|
|
|
|
|
|
|
|
+ if (fe->ops.ts_bus_ctrl)
|
|
|
|
+ fe->ops.ts_bus_ctrl (fe, 0);
|
|
|
|
+
|
|
return dvb_generic_release (inode, file);
|
|
return dvb_generic_release (inode, file);
|
|
}
|
|
}
|
|
|
|
|