]> git.karo-electronics.de Git - karo-tx-linux.git/commit
uvcvideo: Reset the bytesused field when recycling an erroneous buffer
authorJayakrishnan Memana <jayakrishnan.memana@maxim-ic.com>
Sun, 15 Jul 2012 13:54:03 +0000 (10:54 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Sep 2012 17:00:20 +0000 (10:00 -0700)
commit190d60406f1e111bd212e271076bdab9e104ebe6
tree2f1a52e9ac44960821dbcaba4e14dd294a14dbf1
parentebad30a797a5e5093d69e39bc046edab9452fe00
uvcvideo: Reset the bytesused field when recycling an erroneous buffer

commit 8a3f0ede2b3f5477122060af1a816c6bbf09fcd2 upstream.

Buffers marked as erroneous are recycled immediately by the driver if
the nodrop module parameter isn't set. The buffer payload size is reset
to 0, but the buffer bytesused field isn't. This results in the buffer
being immediately considered as complete, leading to an infinite loop in
interrupt context.

Fix the problem by resetting the bytesused field when recycling the
buffer.

Signed-off-by: Jayakrishnan Memana <jayakrishnan.memana@maxim-ic.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/video/uvc/uvc_queue.c