HDMI: add mutex lock when hdmi is set to auto mode, to avoid

system crash by NULL pointer.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This commit is contained in:
Zheng Yang
2015-03-09 11:07:28 +08:00
parent 6c9bcee8f8
commit e5caa5929c
2 changed files with 3 additions and 1 deletions

View File

@@ -210,7 +210,7 @@ static void hdmi_wq_insert(struct hdmi *hdmi)
rockchip_hdmi_cec_set_pa(hdmi->edid.cecaddress);
hdmi_send_uevent(hdmi, KOBJ_ADD);
if (hdmi->enable) {
hdmi->autoset = 0;
/*hdmi->autoset = 0;*/
hdmi_set_lcdc(hdmi);
hdmi_wq_set_video(hdmi);
#ifdef CONFIG_SWITCH

View File

@@ -53,6 +53,7 @@ static int hdmi_set_mode(struct rk_display_device *device,
container_of(mode, struct display_modelist, mode);
int vic = 0;
mutex_lock(&hdmi->lock);
if (mode == NULL) {
hdmi->autoset = 1;
vic = hdmi_find_best_mode(hdmi, 0);
@@ -66,6 +67,7 @@ static int hdmi_set_mode(struct rk_display_device *device,
if (hdmi->hotplug == HDMI_HPD_ACTIVED)
hdmi_submit_work(hdmi, HDMI_SET_VIDEO, 0, NULL);
}
mutex_unlock(&hdmi->lock);
return 0;
}