{
struct dmxdev_filter *dmxdevfilter = file->private_data;
struct dmxdev *dmxdev = dmxdevfilter->dev;
- int ret;
if (!dmxdev->may_do_mmap)
return -ENOTTY;
- if (mutex_lock_interruptible(&dmxdev->mutex))
- return -ERESTARTSYS;
-
- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) {
- mutex_unlock(&dmxdev->mutex);
- return -ERESTARTSYS;
- }
- ret = dvb_vb2_mmap(&dmxdevfilter->vb2_ctx, vma);
-
- mutex_unlock(&dmxdevfilter->mutex);
- mutex_unlock(&dmxdev->mutex);
-
- return ret;
+ return dvb_vb2_mmap(&dmxdevfilter->vb2_ctx, vma);
}
#endif
{
struct dvb_device *dvbdev = file->private_data;
struct dmxdev *dmxdev = dvbdev->priv;
- int ret;
if (!dmxdev->may_do_mmap)
return -ENOTTY;
if (dmxdev->exit)
return -ENODEV;
- if (mutex_lock_interruptible(&dmxdev->mutex))
- return -ERESTARTSYS;
-
- ret = dvb_vb2_mmap(&dmxdev->dvr_vb2_ctx, vma);
- mutex_unlock(&dmxdev->mutex);
- return ret;
+ return dvb_vb2_mmap(&dmxdev->dvr_vb2_ctx, vma);
}
#endif