mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
Merge "net: qrtr: Check for exisiting waiters"
This commit is contained in:
commit
d7c669fea5
1 changed files with 8 additions and 0 deletions
|
|
@ -500,6 +500,12 @@ static int qrtr_tx_wait(struct qrtr_node *node, struct sockaddr_qrtr *to,
|
|||
break;
|
||||
}
|
||||
if (!ret) {
|
||||
list_for_each_entry(waiter, &flow->waiters, node) {
|
||||
if (waiter->sk == sk) {
|
||||
mutex_unlock(&node->qrtr_tx_lock);
|
||||
return -EAGAIN;
|
||||
}
|
||||
}
|
||||
waiter = kzalloc(sizeof(*waiter), GFP_KERNEL);
|
||||
if (!waiter) {
|
||||
mutex_unlock(&node->qrtr_tx_lock);
|
||||
|
|
@ -508,6 +514,8 @@ static int qrtr_tx_wait(struct qrtr_node *node, struct sockaddr_qrtr *to,
|
|||
waiter->sk = sk;
|
||||
sock_hold(sk);
|
||||
list_add_tail(&waiter->node, &flow->waiters);
|
||||
QRTR_INFO(node->ilc, "new waiter for [0x%x:0x%x]\n",
|
||||
to->sq_node, to->sq_port);
|
||||
mutex_unlock(&node->qrtr_tx_lock);
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue