Loading drivers/char/adsprpc.c +12 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ struct fastrpc_file { int cid; int ssrcount; int pd; int file_close; struct fastrpc_apps *apps; struct fastrpc_perf perf; struct dentry *debugfs_file; Loading Loading @@ -1898,6 +1899,9 @@ static int fastrpc_file_free(struct fastrpc_file *fl) return 0; } (void)fastrpc_release_current_dsp_process(fl); spin_lock(&fl->hlock); fl->file_close = 1; spin_unlock(&fl->hlock); fastrpc_context_list_dtor(fl); fastrpc_buf_list_free(fl); hlist_for_each_entry_safe(map, n, &fl->maps, hn) { Loading Loading @@ -2274,6 +2278,14 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int ioctl_num, p.inv.fds = 0; p.inv.attrs = 0; p.inv.crc = NULL; spin_lock(&fl->hlock); if (fl->file_close == 1) { err = EBADF; pr_warn("ADSPRPC: fastrpc_device_release is happening, So not sending any new requests to DSP"); spin_unlock(&fl->hlock); goto bail; } spin_unlock(&fl->hlock); switch (ioctl_num) { case FASTRPC_IOCTL_INVOKE: Loading Loading
drivers/char/adsprpc.c +12 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ struct fastrpc_file { int cid; int ssrcount; int pd; int file_close; struct fastrpc_apps *apps; struct fastrpc_perf perf; struct dentry *debugfs_file; Loading Loading @@ -1898,6 +1899,9 @@ static int fastrpc_file_free(struct fastrpc_file *fl) return 0; } (void)fastrpc_release_current_dsp_process(fl); spin_lock(&fl->hlock); fl->file_close = 1; spin_unlock(&fl->hlock); fastrpc_context_list_dtor(fl); fastrpc_buf_list_free(fl); hlist_for_each_entry_safe(map, n, &fl->maps, hn) { Loading Loading @@ -2274,6 +2278,14 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int ioctl_num, p.inv.fds = 0; p.inv.attrs = 0; p.inv.crc = NULL; spin_lock(&fl->hlock); if (fl->file_close == 1) { err = EBADF; pr_warn("ADSPRPC: fastrpc_device_release is happening, So not sending any new requests to DSP"); spin_unlock(&fl->hlock); goto bail; } spin_unlock(&fl->hlock); switch (ioctl_num) { case FASTRPC_IOCTL_INVOKE: Loading