mirror of
https://github.com/torvalds/linux.git
synced 2026-07-12 00:03:39 +02:00
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> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| uvc_ctrl.c | ||
| uvc_driver.c | ||
| uvc_isight.c | ||
| uvc_queue.c | ||
| uvc_status.c | ||
| uvc_v4l2.c | ||
| uvc_video.c | ||
| uvcvideo.h | ||