diff options
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_hdmi_tx.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_tx.c b/drivers/video/fbdev/msm/mdss_hdmi_tx.c index 0ac5862d4f27..e4ea8abb24de 100644 --- a/drivers/video/fbdev/msm/mdss_hdmi_tx.c +++ b/drivers/video/fbdev/msm/mdss_hdmi_tx.c @@ -2786,7 +2786,7 @@ static int hdmi_tx_get_cable_status(struct platform_device *pdev, u32 vote) } spin_lock_irqsave(&hdmi_ctrl->hpd_state_lock, flags); - hpd = hdmi_ctrl->hpd_state; + hpd = hdmi_ctrl->hpd_state && hdmi_ctrl->panel_power_on; spin_unlock_irqrestore(&hdmi_ctrl->hpd_state_lock, flags); hdmi_ctrl->vote_hdmi_core_on = false; @@ -3235,10 +3235,6 @@ static int hdmi_tx_power_on(struct mdss_panel_data *panel_data) return rc; } - mutex_lock(&hdmi_ctrl->power_mutex); - hdmi_ctrl->panel_power_on = true; - mutex_unlock(&hdmi_ctrl->power_mutex); - hdmi_cec_config(hdmi_ctrl->feature_data[HDMI_TX_FEAT_CEC]); if (hdmi_ctrl->hpd_state) { @@ -3251,6 +3247,10 @@ static int hdmi_tx_power_on(struct mdss_panel_data *panel_data) return rc; } } + + mutex_lock(&hdmi_ctrl->power_mutex); + hdmi_ctrl->panel_power_on = true; + mutex_unlock(&hdmi_ctrl->power_mutex); end: dss_reg_dump(io->base, io->len, "HDMI-ON: ", REG_DUMP); |
