Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c893cd2e authored by Meng Wang's avatar Meng Wang
Browse files

dsp: lsm: add apr NULL check in apr deregister



During SSR, q6lsm_mmapcallback could happen before
q6lsm_mmap_apr_dereg. q6lsm_common.apr and
q6lsm_common.apr_users are cleared in q6lsm_mmapcallback.
Add apr NULL check in q6lsm_mmap_apr_dereg before accessing
q6lsm_common.apr_users.

Change-Id: Ia0ff57b3fff0a0e4f26b836a8a15324406af1a14
Signed-off-by: default avatarMeng Wang <mengw@codeaurora.org>
parent 018a0615
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -285,12 +285,15 @@ static void *q6lsm_mmap_apr_reg(void)

static int q6lsm_mmap_apr_dereg(void)
{
	if (lsm_common.apr) {
		if (atomic_read(&lsm_common.apr_users) <= 0) {
			WARN("%s: APR common port already closed\n", __func__);
		} else {
			if (atomic_dec_return(&lsm_common.apr_users) == 0) {
				apr_deregister(lsm_common.apr);
			pr_debug("%s: APR De-Register common port\n", __func__);
				pr_debug("%s: APR De-Register common port\n",
					__func__);
			}
		}
	}
	return 0;