cnss2: Add NULL check for 'cfg_arr' pointer
Add NULL check for 'cfg_arr' pointer before passing to 'of_property_read_string_array' function Change-Id: Ief30b57145af5842cfd8e9533fcc5d15ab5ea0f1 CRs-Fixed: 3409579
This commit is contained in:

committed by
Madan Koyyalamudi

parent
dcbdb2f5fb
commit
3b1df6da05
@@ -1619,13 +1619,16 @@ void cnss_power_misc_params_init(struct cnss_plat_data *plat_priv)
|
|||||||
plat_priv->pdc_init_table =
|
plat_priv->pdc_init_table =
|
||||||
kcalloc(plat_priv->pdc_init_table_len,
|
kcalloc(plat_priv->pdc_init_table_len,
|
||||||
sizeof(char *), GFP_KERNEL);
|
sizeof(char *), GFP_KERNEL);
|
||||||
ret =
|
if (plat_priv->pdc_init_table) {
|
||||||
of_property_read_string_array(dev->of_node,
|
ret = of_property_read_string_array(dev->of_node,
|
||||||
"qcom,pdc_init_table",
|
"qcom,pdc_init_table",
|
||||||
plat_priv->pdc_init_table,
|
plat_priv->pdc_init_table,
|
||||||
plat_priv->pdc_init_table_len);
|
plat_priv->pdc_init_table_len);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
cnss_pr_err("Failed to get PDC Init Table\n");
|
cnss_pr_err("Failed to get PDC Init Table\n");
|
||||||
|
} else {
|
||||||
|
cnss_pr_err("Failed to alloc PDC Init Table mem\n");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cnss_pr_dbg("PDC Init Table not configured\n");
|
cnss_pr_dbg("PDC Init Table not configured\n");
|
||||||
}
|
}
|
||||||
@@ -1637,13 +1640,16 @@ void cnss_power_misc_params_init(struct cnss_plat_data *plat_priv)
|
|||||||
plat_priv->vreg_pdc_map =
|
plat_priv->vreg_pdc_map =
|
||||||
kcalloc(plat_priv->vreg_pdc_map_len,
|
kcalloc(plat_priv->vreg_pdc_map_len,
|
||||||
sizeof(char *), GFP_KERNEL);
|
sizeof(char *), GFP_KERNEL);
|
||||||
ret =
|
if (plat_priv->vreg_pdc_map) {
|
||||||
of_property_read_string_array(dev->of_node,
|
ret = of_property_read_string_array(dev->of_node,
|
||||||
"qcom,vreg_pdc_map",
|
"qcom,vreg_pdc_map",
|
||||||
plat_priv->vreg_pdc_map,
|
plat_priv->vreg_pdc_map,
|
||||||
plat_priv->vreg_pdc_map_len);
|
plat_priv->vreg_pdc_map_len);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
cnss_pr_err("Failed to get VReg PDC Mapping\n");
|
cnss_pr_err("Failed to get VReg PDC Mapping\n");
|
||||||
|
} else {
|
||||||
|
cnss_pr_err("Failed to alloc VReg PDC mem\n");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cnss_pr_dbg("VReg PDC Mapping not configured\n");
|
cnss_pr_dbg("VReg PDC Mapping not configured\n");
|
||||||
}
|
}
|
||||||
@@ -1654,12 +1660,16 @@ void cnss_power_misc_params_init(struct cnss_plat_data *plat_priv)
|
|||||||
if (plat_priv->pmu_vreg_map_len > 0) {
|
if (plat_priv->pmu_vreg_map_len > 0) {
|
||||||
plat_priv->pmu_vreg_map = kcalloc(plat_priv->pmu_vreg_map_len,
|
plat_priv->pmu_vreg_map = kcalloc(plat_priv->pmu_vreg_map_len,
|
||||||
sizeof(char *), GFP_KERNEL);
|
sizeof(char *), GFP_KERNEL);
|
||||||
ret =
|
if (plat_priv->pmu_vreg_map) {
|
||||||
of_property_read_string_array(dev->of_node, "qcom,pmu_vreg_map",
|
ret = of_property_read_string_array(dev->of_node,
|
||||||
|
"qcom,pmu_vreg_map",
|
||||||
plat_priv->pmu_vreg_map,
|
plat_priv->pmu_vreg_map,
|
||||||
plat_priv->pmu_vreg_map_len);
|
plat_priv->pmu_vreg_map_len);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
cnss_pr_err("Fail to get PMU VReg Mapping\n");
|
cnss_pr_err("Fail to get PMU VReg Mapping\n");
|
||||||
|
} else {
|
||||||
|
cnss_pr_err("Failed to alloc PMU VReg mem\n");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cnss_pr_dbg("PMU VReg Mapping not configured\n");
|
cnss_pr_dbg("PMU VReg Mapping not configured\n");
|
||||||
}
|
}
|
||||||
@@ -1684,14 +1694,17 @@ void cnss_power_misc_params_init(struct cnss_plat_data *plat_priv)
|
|||||||
if (ret > 0) {
|
if (ret > 0) {
|
||||||
cfg_arr_size = ret;
|
cfg_arr_size = ret;
|
||||||
cfg_arr = kcalloc(cfg_arr_size, sizeof(*cfg_arr), GFP_KERNEL);
|
cfg_arr = kcalloc(cfg_arr_size, sizeof(*cfg_arr), GFP_KERNEL);
|
||||||
|
if (cfg_arr) {
|
||||||
ret = of_property_read_u32_array(plat_priv->plat_dev->dev.of_node,
|
ret = of_property_read_u32_array(plat_priv->plat_dev->dev.of_node,
|
||||||
"qcom,on-chip-pmic-support", cfg_arr,
|
"qcom,on-chip-pmic-support",
|
||||||
cfg_arr_size);
|
cfg_arr, cfg_arr_size);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
plat_priv->on_chip_pmic_devices_count = cfg_arr_size;
|
plat_priv->on_chip_pmic_devices_count = cfg_arr_size;
|
||||||
plat_priv->on_chip_pmic_board_ids = cfg_arr;
|
plat_priv->on_chip_pmic_board_ids = cfg_arr;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
cnss_pr_err("Failed to alloc cfg table mem\n");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cnss_pr_dbg("On chip PMIC device ids not configured\n");
|
cnss_pr_dbg("On chip PMIC device ids not configured\n");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user