since kernel 4.5.3 a severe bug has been introduced with commit
2c1f6951a8a82e6de0d82b1158b5e493fc6c54ab ( [media] videobuf2-v4l2:
Verify planes array in buffer dequeueing ),

a system freeze will occur with TV cards ( DVB-T ), for example with
"leadtek winfast DTV1000T", "leadtek winfast DTV1800H", "Avermedia" and
many others,

https://bugzilla.kernel.org/show_bug.cgi?id=118061

one quick fix is to revert this commit

--- a/drivers/media/v4l2-core/videobuf2-v4l2.c    2016-05-12
06:14:24.000000000 +0200
+++ b/drivers/media/v4l2-core/videobuf2-v4l2.c    2016-05-12
06:21:16.773477390 +0200
@@ -74,10 +74,6 @@
     return 0;
 }
 
-static int __verify_planes_array_core(struct vb2_buffer *vb, const void
*pb)
-{
-    return __verify_planes_array(vb, pb);
-}
 
 /**
  * __verify_length() - Verify that the bytesused value for each plane
fits in
@@ -442,7 +438,6 @@
 }
 
 static const struct vb2_buf_ops v4l2_buf_ops = {
-    .verify_planes_array    = __verify_planes_array_core,
     .fill_user_buffer    = __fill_v4l2_buffer,
     .fill_vb2_buffer    = __fill_vb2_buffer,
     .copy_timestamp        = __copy_timestamp,

Reply via email to