diff --git a/drivers/soc/qcom/spcom.c b/drivers/soc/qcom/spcom.c index 0e1e4ae975b0..d1f300e6afb7 100644 --- a/drivers/soc/qcom/spcom.c +++ b/drivers/soc/qcom/spcom.c @@ -718,8 +718,10 @@ static int spcom_open(struct spcom_channel *ch, unsigned int timeout_msec) /* only one client/server may use the channel */ if (ch->ref_count) { - pr_err("channel [%s] already in use.\n", name); - goto exit_err; + pr_err("channel [%s] is BUSY, already in use by pid [%d].\n", + name, ch->pid); + mutex_unlock(&ch->lock); + return -EBUSY; } pr_debug("ch [%s] opened by PID [%d], count [%d]\n",