mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
vdac: fix crash issue
PD#174269: fix crash issue Problem: crash when unplug hdmi.null pointer visiting Solution: delete dts config,add null pointer protect Verify: test pass on p212 Change-Id: I5176aa4eb398b1bedf14b36ec6529c471e927530 Signed-off-by: Nian Jing <nian.jing@amlogic.com>
This commit is contained in:
@@ -584,12 +584,6 @@
|
||||
fr_auto_policy = <0>;
|
||||
};
|
||||
|
||||
vdac {
|
||||
compatible = "amlogic, vdac";
|
||||
dev_name = "vdac";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
cvbsout {
|
||||
compatible = "amlogic, cvbsout-gxl";
|
||||
dev_name = "cvbsout";
|
||||
|
||||
@@ -681,12 +681,6 @@
|
||||
fr_auto_policy = <0>;
|
||||
};
|
||||
|
||||
vdac {
|
||||
compatible = "amlogic, vdac";
|
||||
dev_name = "vdac";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
cvbsout {
|
||||
compatible = "amlogic, cvbsout-gxl";
|
||||
dev_name = "cvbsout";
|
||||
|
||||
@@ -1440,7 +1440,7 @@ static int cvbsout_probe(struct platform_device *pdev)
|
||||
return -1;
|
||||
}
|
||||
info->cvbs_data = (struct meson_cvbsout_data *)match->data;
|
||||
cvbs_log_info("%s,cpu_id:%d,name:%s\n", __func__,
|
||||
cvbs_log_info("%s, cpu_id:%d,name:%s\n", __func__,
|
||||
info->cvbs_data->cpu_id, info->cvbs_data->name);
|
||||
|
||||
cvbsout_get_config(&pdev->dev);
|
||||
|
||||
@@ -339,6 +339,10 @@ EXPORT_SYMBOL(vdac_out_cntl1_bit3);
|
||||
|
||||
void vdac_set_ctrl0_ctrl1(unsigned int ctrl0, unsigned int ctrl1)
|
||||
{
|
||||
if (!s_vdac_data) {
|
||||
pr_err("\n%s: s_vdac_data NULL\n", __func__);
|
||||
return;
|
||||
}
|
||||
if (s_vdac_data->cpu_id >= VDAC_CPU_G12AB) {
|
||||
vdac_hiu_reg_write(HHI_VDAC_CNTL0_G12A, ctrl0);
|
||||
vdac_hiu_reg_write(HHI_VDAC_CNTL1_G12A, ctrl1);
|
||||
@@ -354,6 +358,11 @@ EXPORT_SYMBOL(vdac_set_ctrl0_ctrl1);
|
||||
*/
|
||||
void vdac_enable(bool on, unsigned int module_sel)
|
||||
{
|
||||
if (!s_vdac_data) {
|
||||
pr_err("\n%s: s_vdac_data NULL\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
pr_info("\n%s: on:%d,module_sel:%x\n", __func__, on, module_sel);
|
||||
|
||||
mutex_lock(&vdac_mutex);
|
||||
@@ -708,6 +717,7 @@ static int __init aml_vdac_init(void)
|
||||
pr_info("%s: module init\n", __func__);
|
||||
|
||||
vdac_init_succ_flag = 0;
|
||||
s_vdac_data = NULL;
|
||||
|
||||
mutex_init(&vdac_mutex);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user