media: usb: em28xx: Replace mdelay() with msleep() in em28xx_pre_card_setup()
em28xx_pre_card_setup() is never called in atomic context. It calls mdelay() to busily wait, which is not necessary. mdelay() can be replaced with msleep(). This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
此提交包含在:
@@ -2852,13 +2852,13 @@ static void em28xx_pre_card_setup(struct em28xx *dev)
|
||||
em28xx_write_reg(dev, EM2880_R04_GPO, 0x01);
|
||||
usleep_range(10000, 11000);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfd);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfc);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xdc);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfc);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
break;
|
||||
case EM2870_BOARD_TERRATEC_XS_MT2060:
|
||||
/*
|
||||
@@ -2866,11 +2866,11 @@ static void em28xx_pre_card_setup(struct em28xx *dev)
|
||||
* demod work
|
||||
*/
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfe);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xde);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfe);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
break;
|
||||
case EM2870_BOARD_PINNACLE_PCTV_DVB:
|
||||
/*
|
||||
@@ -2878,11 +2878,11 @@ static void em28xx_pre_card_setup(struct em28xx *dev)
|
||||
* DVB-T demod work
|
||||
*/
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfe);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xde);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
em28xx_write_reg(dev, EM2820_R08_GPIO_CTRL, 0xfe);
|
||||
mdelay(70);
|
||||
msleep(70);
|
||||
break;
|
||||
case EM2820_BOARD_GADMEI_UTV310:
|
||||
case EM2820_BOARD_MSI_VOX_USB_2:
|
||||
|
新增問題並參考
封鎖使用者