aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/gspca/finepix.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/usb/gspca/finepix.c')
-rw-r--r--drivers/media/usb/gspca/finepix.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/usb/gspca/finepix.c b/drivers/media/usb/gspca/finepix.c
index fb68a2934255..52bdb569760b 100644
--- a/drivers/media/usb/gspca/finepix.c
+++ b/drivers/media/usb/gspca/finepix.c
@@ -77,7 +77,14 @@ static int command(struct gspca_dev *gspca_dev,
77 12, FPIX_TIMEOUT); 77 12, FPIX_TIMEOUT);
78} 78}
79 79
80/* workqueue */ 80/*
81 * This function is called as a workqueue function and runs whenever the camera
82 * is streaming data. Because it is a workqueue function it is allowed to sleep
83 * so we can use synchronous USB calls. To avoid possible collisions with other
84 * threads attempting to use gspca_dev->usb_buf we take the usb_lock when
85 * performing USB operations using it. In practice we don't really need this
86 * as the camera doesn't provide any controls.
87 */
81static void dostream(struct work_struct *work) 88static void dostream(struct work_struct *work)
82{ 89{
83 struct usb_fpix *dev = container_of(work, struct usb_fpix, work_struct); 90 struct usb_fpix *dev = container_of(work, struct usb_fpix, work_struct);