Loading drivers/platform/msm/msm_bus/msm_bus_of_adhoc.c +21 −22 Original line number Diff line number Diff line Loading @@ -797,33 +797,33 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, int rule_idx = 0; int bw_fld = 0; int i; struct bus_rule_type *static_rule = NULL; struct bus_rule_type *local_rule = NULL; of_node = pdev->dev.of_node; num_rules = of_get_child_count(of_node); static_rule = devm_kzalloc(&pdev->dev, local_rule = devm_kzalloc(&pdev->dev, sizeof(struct bus_rule_type) * num_rules, GFP_KERNEL); if (IS_ERR_OR_NULL(static_rule)) { if (IS_ERR_OR_NULL(local_rule)) { ret = -ENOMEM; goto exit_static_rules; } *static_rules = static_rule; *static_rules = local_rule; for_each_child_of_node(of_node, child_node) { ret = msm_bus_of_get_ids(pdev, child_node, &static_rule[rule_idx].src_id, &static_rule[rule_idx].num_src, &local_rule[rule_idx].src_id, &local_rule[rule_idx].num_src, "qcom,src-nodes"); ret = msm_bus_of_get_ids(pdev, child_node, &static_rule[rule_idx].dst_node, &static_rule[rule_idx].num_dst, &local_rule[rule_idx].dst_node, &local_rule[rule_idx].num_dst, "qcom,dest-node"); ret = of_property_read_u32(child_node, "qcom,src-field", &static_rule[rule_idx].src_field); &local_rule[rule_idx].src_field); if (ret) { dev_err(&pdev->dev, "src-field missing"); ret = -ENXIO; Loading @@ -831,7 +831,7 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, } ret = of_property_read_u32(child_node, "qcom,src-op", &static_rule[rule_idx].op); &local_rule[rule_idx].op); if (ret) { dev_err(&pdev->dev, "src-op missing"); ret = -ENXIO; Loading @@ -839,7 +839,7 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, } ret = of_property_read_u32(child_node, "qcom,mode", &static_rule[rule_idx].mode); &local_rule[rule_idx].mode); if (ret) { dev_err(&pdev->dev, "mode missing"); ret = -ENXIO; Loading @@ -852,14 +852,14 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, ret = -ENXIO; goto err_static_rules; } else static_rule[rule_idx].thresh = KBTOB(bw_fld); local_rule[rule_idx].thresh = KBTOB(bw_fld); ret = of_property_read_u32(child_node, "qcom,dest-bw", &bw_fld); if (ret) static_rule[rule_idx].dst_bw = 0; local_rule[rule_idx].dst_bw = 0; else static_rule[rule_idx].dst_bw = KBTOB(bw_fld); local_rule[rule_idx].dst_bw = KBTOB(bw_fld); rule_idx++; } Loading @@ -868,17 +868,16 @@ exit_static_rules: return ret; err_static_rules: for (i = 0; i < num_rules; i++) { if (!IS_ERR_OR_NULL(static_rule)) { if (!IS_ERR_OR_NULL(static_rule[i].src_id)) if (!IS_ERR_OR_NULL(local_rule)) { if (!IS_ERR_OR_NULL(local_rule[i].src_id)) devm_kfree(&pdev->dev, static_rule[i].src_id); if (!IS_ERR_OR_NULL(static_rule[i].dst_node)) local_rule[i].src_id); if (!IS_ERR_OR_NULL(local_rule[i].dst_node)) devm_kfree(&pdev->dev, static_rule[i].dst_node); devm_kfree(&pdev->dev, static_rule); local_rule[i].dst_node); devm_kfree(&pdev->dev, local_rule); } } devm_kfree(&pdev->dev, *static_rules); static_rules = NULL; *static_rules = NULL; return ret; } Loading
drivers/platform/msm/msm_bus/msm_bus_of_adhoc.c +21 −22 Original line number Diff line number Diff line Loading @@ -797,33 +797,33 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, int rule_idx = 0; int bw_fld = 0; int i; struct bus_rule_type *static_rule = NULL; struct bus_rule_type *local_rule = NULL; of_node = pdev->dev.of_node; num_rules = of_get_child_count(of_node); static_rule = devm_kzalloc(&pdev->dev, local_rule = devm_kzalloc(&pdev->dev, sizeof(struct bus_rule_type) * num_rules, GFP_KERNEL); if (IS_ERR_OR_NULL(static_rule)) { if (IS_ERR_OR_NULL(local_rule)) { ret = -ENOMEM; goto exit_static_rules; } *static_rules = static_rule; *static_rules = local_rule; for_each_child_of_node(of_node, child_node) { ret = msm_bus_of_get_ids(pdev, child_node, &static_rule[rule_idx].src_id, &static_rule[rule_idx].num_src, &local_rule[rule_idx].src_id, &local_rule[rule_idx].num_src, "qcom,src-nodes"); ret = msm_bus_of_get_ids(pdev, child_node, &static_rule[rule_idx].dst_node, &static_rule[rule_idx].num_dst, &local_rule[rule_idx].dst_node, &local_rule[rule_idx].num_dst, "qcom,dest-node"); ret = of_property_read_u32(child_node, "qcom,src-field", &static_rule[rule_idx].src_field); &local_rule[rule_idx].src_field); if (ret) { dev_err(&pdev->dev, "src-field missing"); ret = -ENXIO; Loading @@ -831,7 +831,7 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, } ret = of_property_read_u32(child_node, "qcom,src-op", &static_rule[rule_idx].op); &local_rule[rule_idx].op); if (ret) { dev_err(&pdev->dev, "src-op missing"); ret = -ENXIO; Loading @@ -839,7 +839,7 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, } ret = of_property_read_u32(child_node, "qcom,mode", &static_rule[rule_idx].mode); &local_rule[rule_idx].mode); if (ret) { dev_err(&pdev->dev, "mode missing"); ret = -ENXIO; Loading @@ -852,14 +852,14 @@ int msm_bus_of_get_static_rules(struct platform_device *pdev, ret = -ENXIO; goto err_static_rules; } else static_rule[rule_idx].thresh = KBTOB(bw_fld); local_rule[rule_idx].thresh = KBTOB(bw_fld); ret = of_property_read_u32(child_node, "qcom,dest-bw", &bw_fld); if (ret) static_rule[rule_idx].dst_bw = 0; local_rule[rule_idx].dst_bw = 0; else static_rule[rule_idx].dst_bw = KBTOB(bw_fld); local_rule[rule_idx].dst_bw = KBTOB(bw_fld); rule_idx++; } Loading @@ -868,17 +868,16 @@ exit_static_rules: return ret; err_static_rules: for (i = 0; i < num_rules; i++) { if (!IS_ERR_OR_NULL(static_rule)) { if (!IS_ERR_OR_NULL(static_rule[i].src_id)) if (!IS_ERR_OR_NULL(local_rule)) { if (!IS_ERR_OR_NULL(local_rule[i].src_id)) devm_kfree(&pdev->dev, static_rule[i].src_id); if (!IS_ERR_OR_NULL(static_rule[i].dst_node)) local_rule[i].src_id); if (!IS_ERR_OR_NULL(local_rule[i].dst_node)) devm_kfree(&pdev->dev, static_rule[i].dst_node); devm_kfree(&pdev->dev, static_rule); local_rule[i].dst_node); devm_kfree(&pdev->dev, local_rule); } } devm_kfree(&pdev->dev, *static_rules); static_rules = NULL; *static_rules = NULL; return ret; }