summaryrefslogtreecommitdiff
path: root/drivers/media/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/gspca/sn9c20x.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/media/video/gspca/sn9c20x.c b/drivers/media/video/gspca/sn9c20x.c
index c5b42e4ac9b4..da2904a891aa 100644
--- a/drivers/media/video/gspca/sn9c20x.c
+++ b/drivers/media/video/gspca/sn9c20x.c
@@ -1644,9 +1644,12 @@ static void set_exposure(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
u8 exp[8] = {sd->i2c_intf, sd->i2c_addr,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
int expo;
+ if (gspca_dev->streaming)
+ exp[7] = 0x1e;
+
expo = sd->ctrls[EXPOSURE].val;
switch (sd->sensor) {
case SENSOR_OV7660:
@@ -1683,9 +1686,12 @@ static void set_gain(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
u8 gain[8] = {sd->i2c_intf, sd->i2c_addr,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
int g;
+ if (gspca_dev->streaming)
+ gain[7] = 0x15; /* or 1d ? */
+
g = sd->ctrls[GAIN].val;
switch (sd->sensor) {
case SENSOR_OV7660: