mirror of https://gitee.com/openkylin/linux.git
[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: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
b036f1cb6e
commit
094af36a3a
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue