diff --git a/dsp/q6lsm.c b/dsp/q6lsm.c index d27bbac68e88..07f47e519a6d 100644 --- a/dsp/q6lsm.c +++ b/dsp/q6lsm.c @@ -285,12 +285,15 @@ static void *q6lsm_mmap_apr_reg(void) static int q6lsm_mmap_apr_dereg(void) { - 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__); + 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__); + } } } return 0;