Loading drivers/char/adsprpc.c +6 −2 Original line number Diff line number Diff line Loading @@ -3198,13 +3198,17 @@ static int fastrpc_mmap_remove_ssr(struct fastrpc_file *fl) kfree(ramdump_segments_rh); } } mutex_lock(&fl->map_mutex); fastrpc_mmap_free(match, 0); mutex_unlock(&fl->map_mutex); } } while (match); me->enable_ramdump = false; bail: if (err && match) { mutex_lock(&fl->map_mutex); fastrpc_mmap_add(match); mutex_unlock(&fl->map_mutex); } return err; } Loading Loading @@ -4014,13 +4018,13 @@ static int fastrpc_channel_open(struct fastrpc_file *fl) if (cid == ADSP_DOMAIN_ID && me->channel[cid].ssrcount != me->channel[cid].prevssrcount) { mutex_lock(&fl->map_mutex); mutex_unlock(&me->channel[cid].smd_mutex); err = fastrpc_mmap_remove_ssr(fl); if (err) pr_warn("adsprpc: %s: %s: failed to unmap remote heap for %s (err %d)\n", __func__, current->comm, me->channel[cid].subsys, err); mutex_unlock(&fl->map_mutex); mutex_lock(&me->channel[cid].smd_mutex); me->channel[cid].prevssrcount = me->channel[cid].ssrcount; } Loading Loading
drivers/char/adsprpc.c +6 −2 Original line number Diff line number Diff line Loading @@ -3198,13 +3198,17 @@ static int fastrpc_mmap_remove_ssr(struct fastrpc_file *fl) kfree(ramdump_segments_rh); } } mutex_lock(&fl->map_mutex); fastrpc_mmap_free(match, 0); mutex_unlock(&fl->map_mutex); } } while (match); me->enable_ramdump = false; bail: if (err && match) { mutex_lock(&fl->map_mutex); fastrpc_mmap_add(match); mutex_unlock(&fl->map_mutex); } return err; } Loading Loading @@ -4014,13 +4018,13 @@ static int fastrpc_channel_open(struct fastrpc_file *fl) if (cid == ADSP_DOMAIN_ID && me->channel[cid].ssrcount != me->channel[cid].prevssrcount) { mutex_lock(&fl->map_mutex); mutex_unlock(&me->channel[cid].smd_mutex); err = fastrpc_mmap_remove_ssr(fl); if (err) pr_warn("adsprpc: %s: %s: failed to unmap remote heap for %s (err %d)\n", __func__, current->comm, me->channel[cid].subsys, err); mutex_unlock(&fl->map_mutex); mutex_lock(&me->channel[cid].smd_mutex); me->channel[cid].prevssrcount = me->channel[cid].ssrcount; } Loading