summaryrefslogtreecommitdiffstats
path: root/sound/last.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2009-12-16 21:20:45 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-01-17 11:31:35 -0200
commitd7c0d43997cf716617d724554d19b3b8dd465833 (patch)
tree00ef45adee02318f35775cc9ecce4ae18372a624 /sound/last.c
parent2c4d9de8ab1434336248bbc01ee8e64d7e6b8a4f (diff)
downloadblackbird-op-linux-d7c0d43997cf716617d724554d19b3b8dd465833.tar.gz
blackbird-op-linux-d7c0d43997cf716617d724554d19b3b8dd465833.zip
V4L/DVB (13831): uvcvideo: Fix oops caused by a race condition in buffer dequeuing
Buffers were marked as done before being removed from the IRQ queue. If a userspace application dequeued and requeued the buffer fast enough during that time window, the buffer could end up being deleted twice, generating an oops in interrupt context. Add a new state, UVC_BUF_STATE_READY, to mark buffers as ready for reuse but not yet removed from the queue, and transition to UVC_BUF_STATE_DONE only when the buffer is removed from the queue. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'sound/last.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud