diff --git a/dsp/audio_calibration.c b/dsp/audio_calibration.c old mode 100755 new mode 100644 index c2fb702fbde3..c4ab399a38af --- a/dsp/audio_calibration.c +++ b/dsp/audio_calibration.c @@ -148,7 +148,7 @@ int audio_cal_register(int num_cal_types, GFP_KERNEL); if (callback_node == NULL) { ret = -ENOMEM; - goto err; + goto err_callback_node; } memcpy(callback_node, ®_data[i].callbacks, @@ -160,10 +160,13 @@ int audio_cal_register(int num_cal_types, &audio_cal.client_info[reg_data[i].cal_type]); mutex_unlock(&audio_cal.cal_mutex[reg_data[i].cal_type]); } -done: - return ret; + goto done; + +err_callback_node: + kfree(client_info_node); err: audio_cal_deregister(num_cal_types, reg_data); +done: return ret; }