diff --git a/drivers/char/adsprpc.c b/drivers/char/adsprpc.c index ac9a409ba3b7..07b96023f518 100644 --- a/drivers/char/adsprpc.c +++ b/drivers/char/adsprpc.c @@ -5250,6 +5250,9 @@ static int fastrpc_internal_control(struct fastrpc_file *fl, fl->ws_timeout = cp->pm.timeout; fastrpc_pm_awake(fl, gcinfo[fl->cid].secure); break; + case FASTRPC_CONTROL_DSPPROCESS_CLEAN: + (void)fastrpc_release_current_dsp_process(fl); + break; default: err = -EBADRQC; break; diff --git a/drivers/char/adsprpc_shared.h b/drivers/char/adsprpc_shared.h index 0082655d8a76..eff83c5bf60b 100644 --- a/drivers/char/adsprpc_shared.h +++ b/drivers/char/adsprpc_shared.h @@ -394,6 +394,8 @@ enum fastrpc_control_type { FASTRPC_CONTROL_KALLOC = 3, FASTRPC_CONTROL_WAKELOCK = 4, FASTRPC_CONTROL_PM = 5, +/* Clean process on DSP */ + FASTRPC_CONTROL_DSPPROCESS_CLEAN = 6, }; struct fastrpc_ctrl_latency {