Merge tag 'char-misc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[sfrench/cifs-2.6.git] / drivers / misc / fastrpc.c
index 0bfff1d42da2163a6e79cd3e1fb9490be6031be8..4c67e2c5a82e1f85f3e6e07e20b22d14b25f3051 100644 (file)
@@ -263,7 +263,6 @@ struct fastrpc_channel_ctx {
        int domain_id;
        int sesscount;
        int vmcount;
-       u64 perms;
        struct qcom_scm_vmperm vmperms[FASTRPC_MAX_VMIDS];
        struct rpmsg_device *rpdev;
        struct fastrpc_session_ctx session[FASTRPC_MAX_SESSIONS];
@@ -1279,9 +1278,11 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
 
                /* Map if we have any heap VMIDs associated with this ADSP Static Process. */
                if (fl->cctx->vmcount) {
+                       u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
+
                        err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys,
                                                        (u64)fl->cctx->remote_heap->size,
-                                                       &fl->cctx->perms,
+                                                       &src_perms,
                                                        fl->cctx->vmperms, fl->cctx->vmcount);
                        if (err) {
                                dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d",
@@ -1915,8 +1916,10 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp)
 
        /* Add memory to static PD pool, protection thru hypervisor */
        if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) {
+               u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
+
                err = qcom_scm_assign_mem(buf->phys, (u64)buf->size,
-                       &fl->cctx->perms, fl->cctx->vmperms, fl->cctx->vmcount);
+                       &src_perms, fl->cctx->vmperms, fl->cctx->vmcount);
                if (err) {
                        dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
                                        buf->phys, buf->size, err);
@@ -2288,7 +2291,6 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
 
        if (vmcount) {
                data->vmcount = vmcount;
-               data->perms = BIT(QCOM_SCM_VMID_HLOS);
                for (i = 0; i < data->vmcount; i++) {
                        data->vmperms[i].vmid = vmids[i];
                        data->vmperms[i].perm = QCOM_SCM_PERM_RWX;