Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72ab97ce authored by Jean-Francois Moine's avatar Jean-Francois Moine Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9079): gspca: Return error code from stream start functions.

parent 1b60e1ad
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -837,12 +837,13 @@ static int sd_init(struct gspca_dev *gspca_dev)
	return 0;
}

static void sd_start(struct gspca_dev *gspca_dev)
static int sd_start(struct gspca_dev *gspca_dev)
{
	cx11646_initsize(gspca_dev);
	cx11646_fw(gspca_dev);
	cx_sensor(gspca_dev);
	cx11646_jpeg(gspca_dev);
	return 0;
}

static void sd_stop0(struct gspca_dev *gspca_dev)
+2 −1
Original line number Diff line number Diff line
@@ -691,7 +691,7 @@ static int sd_init(struct gspca_dev *gspca_dev)
}

/* -- start the camera -- */
static void sd_start(struct gspca_dev *gspca_dev)
static int sd_start(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;

@@ -704,6 +704,7 @@ static void sd_start(struct gspca_dev *gspca_dev)

	reg_w_val(gspca_dev, ET_RESET_ALL, 0x08);
	et_video(gspca_dev, 1);		/* video on */
	return 0;
}

static void sd_stopN(struct gspca_dev *gspca_dev)
+5 −1
Original line number Diff line number Diff line
@@ -584,7 +584,11 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev)
			goto out;

		/* start the cam */
		gspca_dev->sd_desc->start(gspca_dev);
		ret = gspca_dev->sd_desc->start(gspca_dev);
		if (ret < 0) {
			destroy_urbs(gspca_dev);
			goto out;
		}
		gspca_dev->streaming = 1;
		atomic_set(&gspca_dev->nevent, 0);

+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ struct sd_desc {
/* mandatory operations */
	cam_cf_op config;	/* called on probe */
	cam_op init;		/* called on probe and resume */
	cam_v_op start;		/* called on stream on */
	cam_op start;		/* called on stream on */
	cam_pkt_op pkt_scan;
/* optional operations */
	cam_v_op stopN;		/* called on stream off - main alt */
+11 −9
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ static int sd_init(struct gspca_dev *gspca_dev)
	return 0;
}

static void sd_start(struct gspca_dev *gspca_dev)
static int sd_start(struct gspca_dev *gspca_dev)
{
	int err_code;
	__u8 *data;
@@ -143,9 +143,10 @@ static void sd_start(struct gspca_dev *gspca_dev)
	int intpipe;

	PDEBUG(D_STREAM, "camera start, iface %d, alt 8", gspca_dev->iface);
	if (usb_set_interface(gspca_dev->dev, gspca_dev->iface, 8) < 0) {
	err_code = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 8);
	if (err_code < 0) {
		PDEBUG(D_ERR|D_STREAM, "Set packet size: set interface error");
		return;
		return err_code;
	}

	data = gspca_dev->usb_buf;
@@ -154,7 +155,7 @@ static void sd_start(struct gspca_dev *gspca_dev)

	err_code = reg_w(gspca_dev, data[0], 2);
	if (err_code < 0)
		return;
		return err_code;

	/*
	   Initialize the MR97113 chip register
@@ -180,14 +181,14 @@ static void sd_start(struct gspca_dev *gspca_dev)

	err_code = reg_w(gspca_dev, data[0], 11);
	if (err_code < 0)
		return;
		return err_code;

	data[0] = 0x23;		/* address */
	data[1] = 0x09;		/* reg 35, append frame header */

	err_code = reg_w(gspca_dev, data[0], 2);
	if (err_code < 0)
		return;
		return err_code;

	data[0] = 0x3c;		/* address */
/*	if (gspca_dev->width == 1280) */
@@ -198,7 +199,7 @@ static void sd_start(struct gspca_dev *gspca_dev)
				 *	(unit: 4KB) 200KB */
	err_code = reg_w(gspca_dev, data[0], 2);
	if (err_code < 0)
		return;
		return err_code;

	if (0) {			/* fixed dark-gain */
		data[1] = 0;		/* reg 94, Y Gain (1.75) */
@@ -240,13 +241,13 @@ static void sd_start(struct gspca_dev *gspca_dev)

	err_code = reg_w(gspca_dev, data[0], 6);
	if (err_code < 0)
		return;
		return err_code;

	data[0] = 0x67;
	data[1] = 0x13;		/* reg 103, first pixel B, disable sharpness */
	err_code = reg_w(gspca_dev, data[0], 2);
	if (err_code < 0)
		return;
		return err_code;

	/*
	 * initialize the value of MI sensor...
@@ -326,6 +327,7 @@ static void sd_start(struct gspca_dev *gspca_dev)
	data[0] = 0x00;
	data[1] = 0x4d;		/* ISOC transfering enable... */
	reg_w(gspca_dev, data[0], 2);
	return err_code;
}

static void sd_stopN(struct gspca_dev *gspca_dev)
Loading