HDCP: Only Wait for Communication to stop if HDMI is Plugged
authorMatt Wagner <mwagner@nvidia.com>
Wed, 22 May 2013 00:50:34 +0000 (17:50 -0700)
committerMandar Padmawar <mpadmawar@nvidia.com>
Fri, 24 May 2013 06:06:53 +0000 (23:06 -0700)
Don't wait for communication to stop if HDMI isn't plugged

Bug 1275577

Change-Id: Ifb56bc8a4b36ac2cb40614811398920b7e293e04
Signed-off-by: Matt Wagner <mwagner@nvidia.com>
Reviewed-on: http://git-master/r/231350
(cherry picked from commit fc774f94ffa54b1a6ce1771ac82b82c3a1eea39f)
Reviewed-on: http://git-master/r/231692
Reviewed-by: Automatic_Commit_Validation_User
drivers/video/tegra/dc/nvhdcp.c

index 8c545c2bd5131e48d1f0da3793291f9d1e04441c..af1f3fcdbc6f6a0738f211a668912605ac26c625 100644 (file)
@@ -1069,13 +1069,19 @@ static int tegra_nvhdcp_on(struct tegra_nvhdcp *nvhdcp)
 
 static int tegra_nvhdcp_off(struct tegra_nvhdcp *nvhdcp)
 {
+       bool plugged_at_start = nvhdcp_is_plugged(nvhdcp);
+
        mutex_lock(&nvhdcp->lock);
        nvhdcp->state = STATE_OFF;
        nvhdcp_set_plugged(nvhdcp, false);
        mutex_unlock(&nvhdcp->lock);
        wake_up_interruptible(&wq_worker);
        flush_workqueue(nvhdcp->downstream_wq);
-       msleep(1000);
+
+       /* wait for communication to halt */
+       if (plugged_at_start)
+               msleep(1000);
+
        return 0;
 }