video: tegra: fix unplug/suspend timeout in nvhdcp
authorErik Gilling <konkers@android.com>
Wed, 13 Apr 2011 15:03:41 +0000 (08:03 -0700)
committerErik Gilling <konkers@android.com>
Wed, 13 Apr 2011 15:03:41 +0000 (08:03 -0700)
If HDCP was turned off (either by unplug or suspend) the work funciton
would wait the full timeout 5 * l.75s before exiting.  This
causes suspend to timeout and crash.

Change-Id: I8eb185452ad09e34f4573874e9766c0e1cec15de
Signed-off-by: Erik Gilling <konkers@android.com>
drivers/video/tegra/dc/nvhdcp.c

index 1485e9236087b5dbeeccfd1935637e08fb1817d8..408bf2e99d0c1af8b4b6437dd18d4a64f2b19edf 100644 (file)
@@ -982,12 +982,12 @@ static void nvhdcp_downstream_worker(struct work_struct *work)
        nvhdcp_info("link verified!\n");
 
        while (1) {
-               if (nvhdcp->state != STATE_LINK_VERIFY)
-                       goto failure;
-
                if (!nvhdcp_is_plugged(nvhdcp))
                        goto lost_hdmi;
 
+               if (nvhdcp->state != STATE_LINK_VERIFY)
+                       goto failure;
+
                e = verify_link(nvhdcp, true);
                if (e) {
                        nvhdcp_err("link verification failed err %d\n", e);