mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge "net: qrtr: Rename qrtr_all_nodes to qrtr_all_epts"
This commit is contained in:
commit
7e256c1af4
1 changed files with 12 additions and 11 deletions
|
|
@ -109,9 +109,9 @@ static unsigned int qrtr_local_nid = NUMA_NO_NODE;
|
|||
static RADIX_TREE(qrtr_nodes, GFP_ATOMIC);
|
||||
static DEFINE_SPINLOCK(qrtr_nodes_lock);
|
||||
/* broadcast list */
|
||||
static LIST_HEAD(qrtr_all_nodes);
|
||||
/* lock for qrtr_all_nodes and node reference */
|
||||
static DECLARE_RWSEM(qrtr_node_lock);
|
||||
static LIST_HEAD(qrtr_all_epts);
|
||||
/* lock for qrtr_all_epts */
|
||||
static DECLARE_RWSEM(qrtr_epts_lock);
|
||||
|
||||
/* local port allocation management */
|
||||
static DEFINE_IDR(qrtr_ports);
|
||||
|
|
@ -217,7 +217,7 @@ static void __qrtr_node_release(struct kref *kref)
|
|||
spin_unlock_irqrestore(&qrtr_nodes_lock, flags);
|
||||
|
||||
list_del(&node->item);
|
||||
up_write(&qrtr_node_lock);
|
||||
up_write(&qrtr_epts_lock);
|
||||
|
||||
/* Free tx flow counters */
|
||||
radix_tree_for_each_slot(slot, &node->qrtr_tx_flow, &iter, 0) {
|
||||
|
|
@ -242,7 +242,7 @@ static void qrtr_node_release(struct qrtr_node *node)
|
|||
{
|
||||
if (!node)
|
||||
return;
|
||||
kref_put_rwsem_lock(&node->ref, __qrtr_node_release, &qrtr_node_lock);
|
||||
kref_put_rwsem_lock(&node->ref, __qrtr_node_release, &qrtr_epts_lock);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -624,9 +624,9 @@ int qrtr_endpoint_register(struct qrtr_endpoint *ep, unsigned int nid)
|
|||
|
||||
qrtr_node_assign(node, nid);
|
||||
|
||||
down_write(&qrtr_node_lock);
|
||||
list_add(&node->item, &qrtr_all_nodes);
|
||||
up_write(&qrtr_node_lock);
|
||||
down_write(&qrtr_epts_lock);
|
||||
list_add(&node->item, &qrtr_all_epts);
|
||||
up_write(&qrtr_epts_lock);
|
||||
ep->node = node;
|
||||
|
||||
return 0;
|
||||
|
|
@ -937,17 +937,18 @@ static int qrtr_bcast_enqueue(struct qrtr_node *node, struct sk_buff *skb,
|
|||
{
|
||||
struct sk_buff *skbn;
|
||||
|
||||
down_read(&qrtr_node_lock);
|
||||
list_for_each_entry(node, &qrtr_all_nodes, item) {
|
||||
down_read(&qrtr_epts_lock);
|
||||
list_for_each_entry(node, &qrtr_all_epts, item) {
|
||||
if (node->nid == QRTR_EP_NID_AUTO)
|
||||
continue;
|
||||
|
||||
skbn = skb_clone(skb, GFP_KERNEL);
|
||||
if (!skbn)
|
||||
break;
|
||||
skb_set_owner_w(skbn, skb->sk);
|
||||
qrtr_node_enqueue(node, skbn, type, from, to);
|
||||
}
|
||||
up_read(&qrtr_node_lock);
|
||||
up_read(&qrtr_epts_lock);
|
||||
|
||||
qrtr_local_enqueue(node, skb, type, from, to);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue