Loading dsp/q6afe.c +11 −6 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ enum { }; struct wlock { struct wakeup_source ws; struct wakeup_source *ws; }; static struct wlock wl; Loading Loading @@ -8525,7 +8525,7 @@ static int afe_set_cal_fb_spkr_prot(int32_t cal_type, size_t data_size, goto done; if (cal_data->cal_info.mode == MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS) __pm_wakeup_event(&wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT)); __pm_wakeup_event(wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT)); mutex_lock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock); memcpy(&this_afe.prot_cfg, &cal_data->cal_info, sizeof(this_afe.prot_cfg)); Loading Loading @@ -8731,7 +8731,7 @@ static int afe_get_cal_fb_spkr_prot(int32_t cal_type, size_t data_size, } this_afe.initial_cal = 0; mutex_unlock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock); __pm_relax(&wl.ws); __pm_relax(wl.ws); done: return ret; } Loading Loading @@ -9025,7 +9025,10 @@ int __init afe_init(void) } init_waitqueue_head(&this_afe.wait_wakeup); init_waitqueue_head(&this_afe.lpass_core_hw_wait); wakeup_source_init(&wl.ws, "spkr-prot"); wl.ws = wakeup_source_register(NULL, "spkr-prot"); if (!wl.ws) return -ENOMEM; ret = afe_init_cal_data(); if (ret) pr_err("%s: could not init cal data! %d\n", __func__, ret); Loading @@ -9033,8 +9036,10 @@ int __init afe_init(void) config_debug_fs_init(); this_afe.uevent_data = kzalloc(sizeof(*(this_afe.uevent_data)), GFP_KERNEL); if (!this_afe.uevent_data) if (!this_afe.uevent_data) { wakeup_source_unregister(wl.ws); return -ENOMEM; } /* * Set release function to cleanup memory related to kobject Loading Loading @@ -9069,7 +9074,7 @@ void afe_exit(void) config_debug_fs_exit(); mutex_destroy(&this_afe.afe_cmd_lock); mutex_destroy(&this_afe.afe_apr_lock); wakeup_source_trash(&wl.ws); wakeup_source_unregister(wl.ws); } /* Loading Loading
dsp/q6afe.c +11 −6 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ enum { }; struct wlock { struct wakeup_source ws; struct wakeup_source *ws; }; static struct wlock wl; Loading Loading @@ -8525,7 +8525,7 @@ static int afe_set_cal_fb_spkr_prot(int32_t cal_type, size_t data_size, goto done; if (cal_data->cal_info.mode == MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS) __pm_wakeup_event(&wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT)); __pm_wakeup_event(wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT)); mutex_lock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock); memcpy(&this_afe.prot_cfg, &cal_data->cal_info, sizeof(this_afe.prot_cfg)); Loading Loading @@ -8731,7 +8731,7 @@ static int afe_get_cal_fb_spkr_prot(int32_t cal_type, size_t data_size, } this_afe.initial_cal = 0; mutex_unlock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock); __pm_relax(&wl.ws); __pm_relax(wl.ws); done: return ret; } Loading Loading @@ -9025,7 +9025,10 @@ int __init afe_init(void) } init_waitqueue_head(&this_afe.wait_wakeup); init_waitqueue_head(&this_afe.lpass_core_hw_wait); wakeup_source_init(&wl.ws, "spkr-prot"); wl.ws = wakeup_source_register(NULL, "spkr-prot"); if (!wl.ws) return -ENOMEM; ret = afe_init_cal_data(); if (ret) pr_err("%s: could not init cal data! %d\n", __func__, ret); Loading @@ -9033,8 +9036,10 @@ int __init afe_init(void) config_debug_fs_init(); this_afe.uevent_data = kzalloc(sizeof(*(this_afe.uevent_data)), GFP_KERNEL); if (!this_afe.uevent_data) if (!this_afe.uevent_data) { wakeup_source_unregister(wl.ws); return -ENOMEM; } /* * Set release function to cleanup memory related to kobject Loading Loading @@ -9069,7 +9074,7 @@ void afe_exit(void) config_debug_fs_exit(); mutex_destroy(&this_afe.afe_cmd_lock); mutex_destroy(&this_afe.afe_apr_lock); wakeup_source_trash(&wl.ws); wakeup_source_unregister(wl.ws); } /* Loading