drm: mali-dp: Clear the config_valid flag before using it in wait_event.
authorLiviu Dudau <Liviu.Dudau@arm.com>
Thu, 21 Jul 2016 15:09:38 +0000 (16:09 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Wed, 2 Nov 2016 23:04:58 +0000 (23:04 +0000)
config_valid variable is used to signal the activation of the CVAL
request when the vsync interrupt has fired. malidp_set_and_wait_config_valid()
uses the variable in wait_event_interruptible_timeout without clearing it
first, so the wait is skipped.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
drivers/gpu/drm/arm/malidp_drv.c

index 9f4739452a2509950f68a10d1b5a567f9b931298..f15dc5484f314245a4d671bc81fef7341a0617f9 100644 (file)
@@ -42,6 +42,7 @@ static int malidp_set_and_wait_config_valid(struct drm_device *drm)
        struct malidp_hw_device *hwdev = malidp->dev;
        int ret;
 
+       atomic_set(&malidp->config_valid, 0);
        hwdev->set_config_valid(hwdev);
        /* don't wait for config_valid flag if we are in config mode */
        if (hwdev->in_config_mode(hwdev))