media: usb: em28xx: Replace mdelay() with msleep() in em28xx_pre_card_setup()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Mon, 30 Jul 2018 09:24:59 +0000 (05:24 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 2 Aug 2018 23:15:53 +0000 (19:15 -0400)
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>
drivers/media/usb/em28xx/em28xx-cards.c

index 98a4287..71c829f 100644 (file)
@@ -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: