Hi,
Please include the mutex patch
Diff Display More--- media-build-experimental-dkms-0~20140312.204530.orig/media-build-experimental-0~20140312.204530/linux/drivers/media/dvb-core/dvbdev.c 2014-03-21 10:04:22.306392000 +0100 +++ media-build-experimental-dkms-0~20140312.204530/media-build-experimental-0~20140312.204530/linux/drivers/media/dvb-core/dvbdev.c 2014-03-21 10:08:39.942392000 +0100 @@ -82,7 +82,11 @@ file->private_data = dvbdev; replace_fops(file, new_fops); if (file->f_op->open) + { + mutex_unlock(&dvbdev_mutex); err = file->f_op->open(inode,file); + mutex_lock(&dvbdev_mutex); + } up_read(&minor_rwsem); //mutex_unlock(&dvbdev_mutex); return err;
This patch removes mutex protection from the 'open' call. Looks strange to me.
If the patch is correct, you can probably remove the mutex_lock/mutex_unlock calls completely from the routine.
Otherwise the patch is wrong, and you cannot be sure that the 'new_fops' are still in effect when 'open' is called.
I am not aware of any problems with this piece of code. So unless someone provides a good explanation, I will not apply this patch. Sorry.
CU
Oliver