aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/gspca.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/gspca/gspca.c')
-rw-r--r--drivers/media/video/gspca/gspca.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index f21f2a258ae0..9c6a643caf01 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Main USB camera driver 2 * Main USB camera driver
3 * 3 *
4 * Copyright (C) 2008-2010 Jean-François Moine <http://moinejf.free.fr> 4 * Copyright (C) 2008-2011 Jean-François Moine <http://moinejf.free.fr>
5 * 5 *
6 * Camera button input handling by Márton Németh 6 * Camera button input handling by Márton Németh
7 * Copyright (C) 2009-2010 Márton Németh <nm127@freemail.hu> 7 * Copyright (C) 2009-2010 Márton Németh <nm127@freemail.hu>
@@ -414,7 +414,6 @@ resubmit:
414 * - 0 or many INTER_PACKETs 414 * - 0 or many INTER_PACKETs
415 * - one LAST_PACKET 415 * - one LAST_PACKET
416 * DISCARD_PACKET invalidates the whole frame. 416 * DISCARD_PACKET invalidates the whole frame.
417 * On LAST_PACKET, a new frame is returned.
418 */ 417 */
419void gspca_frame_add(struct gspca_dev *gspca_dev, 418void gspca_frame_add(struct gspca_dev *gspca_dev,
420 enum gspca_packet_type packet_type, 419 enum gspca_packet_type packet_type,
@@ -631,7 +630,8 @@ static struct usb_host_endpoint *alt_xfer(struct usb_host_interface *alt,
631 ep = &alt->endpoint[i]; 630 ep = &alt->endpoint[i];
632 attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; 631 attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
633 if (attr == xfer 632 if (attr == xfer
634 && ep->desc.wMaxPacketSize != 0) 633 && ep->desc.wMaxPacketSize != 0
634 && usb_endpoint_dir_in(&ep->desc))
635 return ep; 635 return ep;
636 } 636 }
637 return NULL; 637 return NULL;
@@ -1525,10 +1525,12 @@ static int vidioc_reqbufs(struct file *file, void *priv,
1525 gspca_dev->usb_err = 0; 1525 gspca_dev->usb_err = 0;
1526 gspca_stream_off(gspca_dev); 1526 gspca_stream_off(gspca_dev);
1527 mutex_unlock(&gspca_dev->usb_lock); 1527 mutex_unlock(&gspca_dev->usb_lock);
1528
1529 /* Don't restart the stream when switching from read
1530 * to mmap mode */
1531 if (gspca_dev->memory == GSPCA_MEMORY_READ)
1532 streaming = 0;
1528 } 1533 }
1529 /* Don't restart the stream when switching from read to mmap mode */
1530 if (gspca_dev->memory == GSPCA_MEMORY_READ)
1531 streaming = 0;
1532 1534
1533 /* free the previous allocated buffers, if any */ 1535 /* free the previous allocated buffers, if any */
1534 if (gspca_dev->nframes != 0) 1536 if (gspca_dev->nframes != 0)
@@ -2152,7 +2154,7 @@ static const struct v4l2_ioctl_ops dev_ioctl_ops = {
2152 .vidioc_g_chip_ident = vidioc_g_chip_ident, 2154 .vidioc_g_chip_ident = vidioc_g_chip_ident,
2153}; 2155};
2154 2156
2155static struct video_device gspca_template = { 2157static const struct video_device gspca_template = {
2156 .name = "gspca main driver", 2158 .name = "gspca main driver",
2157 .fops = &dev_fops, 2159 .fops = &dev_fops,
2158 .ioctl_ops = &dev_ioctl_ops, 2160 .ioctl_ops = &dev_ioctl_ops,