From 5bcbc59d666264b24dcfce507c316dc353e45f81 Mon Sep 17 00:00:00 2001 From: Ray Poudrier Date: Tue, 7 May 2013 22:08:13 -0700 Subject: tegra: dc: don't call tegra_dc_hpd in atomic context tegra_dc_hpd(), which uses gpio_get_value_cansleep(), is called from tegra_dc_hdmi_irq() in atomic context. Move this call outside of the atomic context to avoid potential lockup. Change-Id: If62a3d257ab29eae34fd0999e6d182906a568846 Signed-off-by: Ray Poudrier Reviewed-on: http://git-master/r/226531 (cherry picked from commit e0a5c3a078138b9db103aa428a6667efb3e3a1d0) Reviewed-on: http://git-master/r/228493 Reviewed-by: Jon Mayo Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Matt Wagner GVS: Gerrit_Virtual_Submit --- drivers/video/tegra/dc/hdmi.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'drivers') diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c index 07b2296682e9..253a13ad24db 100644 --- a/drivers/video/tegra/dc/hdmi.c +++ b/drivers/video/tegra/dc/hdmi.c @@ -947,12 +947,8 @@ static irqreturn_t tegra_dc_hdmi_irq(int irq, void *ptr) spin_lock_irqsave(&hdmi->suspend_lock, flags); if (!hdmi->suspended) { __cancel_delayed_work(&hdmi->work); - if (tegra_dc_hdmi_hpd(dc)) - queue_delayed_work(system_nrt_wq, &hdmi->work, - msecs_to_jiffies(100)); - else - queue_delayed_work(system_nrt_wq, &hdmi->work, - msecs_to_jiffies(30)); + queue_delayed_work(system_nrt_wq, &hdmi->work, + msecs_to_jiffies(100)); } spin_unlock_irqrestore(&hdmi->suspend_lock, flags); -- cgit v1.2.3