drm: exynos: mixer: fix using usleep() in atomic context
authorTomasz Stanislawski <t.stanislaws@samsung.com>
Wed, 16 Apr 2014 15:12:56 +0000 (17:12 +0200)
committerChanho Park <chanho61.park@samsung.com>
Thu, 7 Aug 2014 05:27:19 +0000 (14:27 +0900)
This patch fixes calling usleep_range() after taking reg_slock
using spin_lock_irqsave(). The mdelay() is used instead.
Waiting in atomic context is not the best idea in general.
Hopefully, waiting occurs only when Video Processor fails
to reset correctly.

Change-Id: Ib2bf151cb4dcb45ab42e9d8f85bf27e1fab21757
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
drivers/gpu/drm/exynos/exynos_mixer.c

index cca841a..5c1ebba 100644 (file)
@@ -603,7 +603,7 @@ static void vp_win_reset(struct mixer_context *ctx)
                /* waiting until VP_SRESET_PROCESSING is 0 */
                if (~vp_reg_read(res, VP_SRESET) & VP_SRESET_PROCESSING)
                        break;
-               usleep_range(10000, 12000);
+               mdelay(10);
        }
        WARN(tries == 0, "failed to reset Video Processor\n");
 }