projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
af766ee
)
[media] sur40: fix occasional oopses on device close
author
Florian Echtler
<
[email protected]
>
Tue, 31 May 2016 20:15:33 +0000
(17:15 -0300)
committer
Mauro Carvalho Chehab
<
[email protected]
>
Fri, 8 Jul 2016 19:16:57 +0000
(16:16 -0300)
Closing the V4L2 device sometimes triggers a kernel oops.
Present patch fixes this.
Signed-off-by: Martin Kaltenbrunner <
[email protected]
>
Signed-off-by: Florian Echtler <
[email protected]
>
Signed-off-by: Hans Verkuil <
[email protected]
>
Cc: <
[email protected]
> # for v4.2 and up
Signed-off-by: Mauro Carvalho Chehab <
[email protected]
>
drivers/input/touchscreen/sur40.c
patch
|
blob
|
history
diff --git
a/drivers/input/touchscreen/sur40.c
b/drivers/input/touchscreen/sur40.c
index bff525f26e87333c73279d513f0602bfed45b43c..b2f3d266dd17b3ed1295a9a93e451c81243d6a58 100644
(file)
--- a/
drivers/input/touchscreen/sur40.c
+++ b/
drivers/input/touchscreen/sur40.c
@@
-447,7
+447,7
@@
static void sur40_process_video(struct sur40_state *sur40)
/* return error if streaming was stopped in the meantime */
if (sur40->sequence == -1)
-
goto err_poll
;
+
return
;
/* mark as finished */
new_buf->vb.vb2_buf.timestamp = ktime_get_ns();
@@
-725,6
+725,7
@@
static int sur40_start_streaming(struct vb2_queue *vq, unsigned int count)
static void sur40_stop_streaming(struct vb2_queue *vq)
{
struct sur40_state *sur40 = vb2_get_drv_priv(vq);
+ vb2_wait_for_all_buffers(vq);
sur40->sequence = -1;
/* Release all active buffers */