diff options
author | Aidan Thornton <makosoft@googlemail.com> | 2008-04-13 14:09:36 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:09:39 -0400 |
commit | 3b5fa928a6b2971ec65571745defc5d9758b4bc1 (patch) | |
tree | 80854c270cec4154a9b86e4ed02b4970897104b5 /drivers/media/video/em28xx/em28xx.h | |
parent | b4916f8ca1da71bb97fb6dcf1e8da3f9c64cf80e (diff) |
V4L/DVB (7565): em28xx: fix buffer underrun handling
This patch fixes three related issues and a fourth trivial one:
- Use buffers even if no-one's currently waiting for them (fixes
underrun issues);
- Don't return incomplete/mangled frames at the start of streaming and
in the case of buffer underruns;
- Fix an issue which could cause the driver to write to a buffer that's
been freed after videobuf_queue_cancel is called (exposed by the
previous two fixes - for some reason, ignoring buffers that weren't
being waited on worked around the issue);
- Fix a bug which could cause only one field to be filled in the first
buffer (or first few buffers) after streaming is started.
Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 993c1ed05cc3..6d62357a038f 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -114,9 +114,6 @@ struct em28xx_usb_isoc_ctl { | |||
114 | /* Stores already requested buffers */ | 114 | /* Stores already requested buffers */ |
115 | struct em28xx_buffer *buf; | 115 | struct em28xx_buffer *buf; |
116 | 116 | ||
117 | /* Store last filled frame */ | ||
118 | int last_field; | ||
119 | |||
120 | /* Stores the number of received fields */ | 117 | /* Stores the number of received fields */ |
121 | int nfields; | 118 | int nfields; |
122 | }; | 119 | }; |