|
@@ -2946,7 +2946,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
|
|
|
reg_w(gspca_dev->dev, 0x89, 0x058c, 0x0000);
|
|
|
break;
|
|
|
default:
|
|
|
- reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
|
|
|
+ if (!(sd->flags & FL_SAMSUNG))
|
|
|
+ reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
|
|
|
break;
|
|
|
}
|
|
|
msleep(100);
|
|
@@ -2964,7 +2965,7 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
|
|
|
|
|
|
if (sd->sensor == SENSOR_MI1310_SOC)
|
|
|
reg_w(dev, 0x89, 0x058c, 0x00ff);
|
|
|
- else
|
|
|
+ else if (!(sd->flags & FL_SAMSUNG))
|
|
|
reg_w(dev, 0x89, 0xffff, 0xffff);
|
|
|
reg_w(dev, 0xa0, 0x01, 0xb301);
|
|
|
reg_w(dev, 0xa0, 0x09, 0xb003);
|
|
@@ -2981,7 +2982,7 @@ static void sd_stop0(struct gspca_dev *gspca_dev)
|
|
|
/*fixme: is this useful?*/
|
|
|
if (sd->sensor == SENSOR_MI1310_SOC)
|
|
|
reg_w(dev, 0x89, 0x058c, 0x00ff);
|
|
|
- else
|
|
|
+ else if (!(sd->flags & FL_SAMSUNG))
|
|
|
reg_w(dev, 0x89, 0xffff, 0xffff);
|
|
|
}
|
|
|
|