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

[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
...@@ -5942,23 +5942,23 @@ static void transfer_update(struct work_struct *work) ...@@ -5942,23 +5942,23 @@ static void transfer_update(struct work_struct *work)
reg07 = 0; reg07 = 0;
good = 0; good = 0;
for (;;) { while (1) {
msleep(100); msleep(100);
/* To protect gspca_dev->usb_buf and gspca_dev->usb_err */ /* To protect gspca_dev->usb_buf and gspca_dev->usb_err */
mutex_lock(&gspca_dev->usb_lock); mutex_lock(&gspca_dev->usb_lock);
#ifdef CONFIG_PM #ifdef CONFIG_PM
if (gspca_dev->frozen) if (gspca_dev->frozen)
goto err; break;
#endif #endif
if (!gspca_dev->present || !gspca_dev->streaming) if (!gspca_dev->present || !gspca_dev->streaming)
goto err; break;
/* Bit 0 of register 11 indicates FIFO overflow */ /* Bit 0 of register 11 indicates FIFO overflow */
gspca_dev->usb_err = 0; gspca_dev->usb_err = 0;
reg11 = reg_r(gspca_dev, 0x0011); reg11 = reg_r(gspca_dev, 0x0011);
if (gspca_dev->usb_err) if (gspca_dev->usb_err)
goto err; break;
change = reg11 & 0x01; change = reg11 & 0x01;
if (change) { /* overflow */ if (change) { /* overflow */
...@@ -5987,12 +5987,12 @@ static void transfer_update(struct work_struct *work) ...@@ -5987,12 +5987,12 @@ static void transfer_update(struct work_struct *work)
gspca_dev->usb_err = 0; gspca_dev->usb_err = 0;
reg_w(gspca_dev, reg07, 0x0007); reg_w(gspca_dev, reg07, 0x0007);
if (gspca_dev->usb_err) if (gspca_dev->usb_err)
goto err; break;
} }
mutex_unlock(&gspca_dev->usb_lock); mutex_unlock(&gspca_dev->usb_lock);
} }
return;
err: /* Something went wrong. Unlock and return */
mutex_unlock(&gspca_dev->usb_lock); mutex_unlock(&gspca_dev->usb_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment