OSDN Git Service

usb: gadget: uvc: Remove non-required locking from 'uvc_queue_next_buffer' routine
authorBhupesh Sharma <bhupesh.sharma@st.com>
Fri, 23 Mar 2012 16:53:13 +0000 (22:23 +0530)
committerFelipe Balbi <balbi@ti.com>
Tue, 10 Apr 2012 16:11:51 +0000 (19:11 +0300)
commit6190c79df861d2c78a7448fe6d4260e5fa53b9b9
tree3a88a39558e08df3c668f2ef0c96a77f07cd2638
parentf135617224b4a1113b26b8ee5877e94f38e40d1e
usb: gadget: uvc: Remove non-required locking from 'uvc_queue_next_buffer' routine

This patch removes the non-required spinlock acquire/release calls on
'queue->irqlock' from 'uvc_queue_next_buffer' routine.

This routine is called from 'video->encode' function (which translates to
either 'uvc_video_encode_bulk' or 'uvc_video_encode_isoc') in 'uvc_video.c'.
As, the 'video->encode' routines are called with 'queue->irqlock' already held,
so acquiring a 'queue->irqlock' again in 'uvc_queue_next_buffer' routine causes
a spin lock recursion.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/uvc_queue.c