From: Zheng Yang Date: Mon, 9 Mar 2015 03:07:28 +0000 (+0800) Subject: HDMI: add mutex lock when hdmi is set to auto mode, to avoid X-Git-Tag: firefly_0821_release~4263^2~19 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e5caa5929c4c331f07c19bd1c74fe74f6b8fa55f;p=firefly-linux-kernel-4.4.55.git HDMI: add mutex lock when hdmi is set to auto mode, to avoid system crash by NULL pointer. Signed-off-by: Zheng Yang --- diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c b/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c index 3ddcc307d3d8..a598ad5aad66 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-core.c @@ -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 diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-sysfs.c b/drivers/video/rockchip/hdmi/rockchip-hdmi-sysfs.c index 134e8888acd9..7d1b8e4370ac 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi-sysfs.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-sysfs.c @@ -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; }