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

Commit 094af36a authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] zc3xx: remove dead code and uneeded gotos



As reported by smatch:
	drivers/media/usb/gspca/zc3xx.c:5994 transfer_update() info: ignoring unreachable code.

That happens because there's a return that it is never called,
as the work queue runs an infinite loop, except when the device is
put to sleep or an error happens.

When an error happens, a break statement is enough to go out of
the loop. So, let's remove the goto, as break is the typical
instruction used to end a loop.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent b036f1cb
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -5942,23 +5942,23 @@ static void transfer_update(struct work_struct *work)
	reg07 = 0;

	good = 0;
	for (;;) {
	while (1) {
		msleep(100);

		/* To protect gspca_dev->usb_buf and gspca_dev->usb_err */
		mutex_lock(&gspca_dev->usb_lock);
#ifdef CONFIG_PM
		if (gspca_dev->frozen)
			goto err;
			break;
#endif
		if (!gspca_dev->present || !gspca_dev->streaming)
			goto err;
			break;

		/* Bit 0 of register 11 indicates FIFO overflow */
		gspca_dev->usb_err = 0;
		reg11 = reg_r(gspca_dev, 0x0011);
		if (gspca_dev->usb_err)
			goto err;
			break;

		change = reg11 & 0x01;
		if (change) {				/* overflow */
@@ -5987,12 +5987,12 @@ static void transfer_update(struct work_struct *work)
			gspca_dev->usb_err = 0;
			reg_w(gspca_dev, reg07, 0x0007);
			if (gspca_dev->usb_err)
				goto err;
				break;
		}
		mutex_unlock(&gspca_dev->usb_lock);
	}
	return;
err:

	/* Something went wrong. Unlock and return */
	mutex_unlock(&gspca_dev->usb_lock);
}