Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91ab784d authored by Chris Lew's avatar Chris Lew Committed by Gerrit - the friendly Code Review server
Browse files

net: qrtr: Use radix_tree_iter_delete



Use radix_tree_iter_delete instead of radix_tree_delete to properly
remove slots in a radix tree without any dangling references.

Change-Id: Ie72272d467b962538e7fe29b14c5d845308a9c51
Signed-off-by: default avatarChris Lew <clew@codeaurora.org>
parent cbcd5df0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -339,7 +339,8 @@ static void __qrtr_node_release(struct kref *kref)
	if (node->nid != QRTR_EP_NID_AUTO) {
		radix_tree_for_each_slot(slot, &qrtr_nodes, &iter, 0) {
			if (node == *slot)
				radix_tree_delete(&qrtr_nodes, iter.index);
				radix_tree_iter_delete(&qrtr_nodes, &iter,
						       slot);
		}
	}

@@ -355,7 +356,7 @@ static void __qrtr_node_release(struct kref *kref)
			sock_put(waiter->sk);
			kfree(waiter);
		}
		radix_tree_delete(&node->qrtr_tx_flow, iter.index);
		radix_tree_iter_delete(&node->qrtr_tx_flow, &iter, slot);
		kfree(flow);
	}
	mutex_unlock(&node->qrtr_tx_lock);