Loading drivers/power/qcom/msm-core.c +4 −1 Original line number Diff line number Diff line Loading @@ -407,9 +407,10 @@ static int update_userspace_power(struct sched_params __user *argp) if (!sp) return -ENOMEM; mutex_lock(&policy_update_mutex); sp->power = allocate_2d_array_uint32_t(node->sp->num_of_freqs); if (IS_ERR_OR_NULL(sp->power)) { mutex_unlock(&policy_update_mutex); ret = PTR_ERR(sp->power); kfree(sp); return ret; Loading Loading @@ -453,6 +454,7 @@ static int update_userspace_power(struct sched_params __user *argp) } } spin_unlock(&update_lock); mutex_unlock(&policy_update_mutex); for_each_possible_cpu(cpu) { if (!pdata_valid[cpu]) Loading @@ -466,6 +468,7 @@ static int update_userspace_power(struct sched_params __user *argp) return 0; failed: mutex_unlock(&policy_update_mutex); for (i = 0; i < TEMP_DATA_POINTS; i++) kfree(sp->power[i]); kfree(sp->power); Loading Loading
drivers/power/qcom/msm-core.c +4 −1 Original line number Diff line number Diff line Loading @@ -407,9 +407,10 @@ static int update_userspace_power(struct sched_params __user *argp) if (!sp) return -ENOMEM; mutex_lock(&policy_update_mutex); sp->power = allocate_2d_array_uint32_t(node->sp->num_of_freqs); if (IS_ERR_OR_NULL(sp->power)) { mutex_unlock(&policy_update_mutex); ret = PTR_ERR(sp->power); kfree(sp); return ret; Loading Loading @@ -453,6 +454,7 @@ static int update_userspace_power(struct sched_params __user *argp) } } spin_unlock(&update_lock); mutex_unlock(&policy_update_mutex); for_each_possible_cpu(cpu) { if (!pdata_valid[cpu]) Loading @@ -466,6 +468,7 @@ static int update_userspace_power(struct sched_params __user *argp) return 0; failed: mutex_unlock(&policy_update_mutex); for (i = 0; i < TEMP_DATA_POINTS; i++) kfree(sp->power[i]); kfree(sp->power); Loading