soc: qcom: glink_pkt: Add mutex in glink_pkt_read
Glink_pkt_read calls glink_queue_rx_intent without mutex lock. This result in race condition where glink_queue_rx_intent generates same intent id for two intents. Mutex lock is added to avoid race condition in glink_queue_rx_intent. CRs-Fixed: 2026579 Change-Id: Iedb9a8874193479154ebb932fa8ff80703402215 Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
This commit is contained in:
parent
22fe1e7de0
commit
ced05f44be
1 changed files with 3 additions and 0 deletions
|
@ -625,14 +625,17 @@ ssize_t glink_pkt_read(struct file *file,
|
|||
return -ENETRESET;
|
||||
}
|
||||
|
||||
mutex_lock(&devp->ch_lock);
|
||||
if (!glink_rx_intent_exists(devp->handle, count)) {
|
||||
ret = glink_queue_rx_intent(devp->handle, devp, count);
|
||||
if (ret) {
|
||||
GLINK_PKT_ERR("%s: failed to queue_rx_intent ret[%d]\n",
|
||||
__func__, ret);
|
||||
mutex_unlock(&devp->ch_lock);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&devp->ch_lock);
|
||||
|
||||
GLINK_PKT_INFO("Begin %s on glink_pkt_dev id:%d buffer_size %zu\n",
|
||||
__func__, devp->i, count);
|
||||
|
|
Loading…
Add table
Reference in a new issue