Re: [PATCH v2 2/5] net: qrtr: Implement outgoing flow control

From: David Miller
Date: Fri May 31 2019 - 17:50:21 EST


From: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Date: Thu, 30 May 2019 18:17:50 -0700

> + flow = radix_tree_lookup(&node->qrtr_tx_flow, key);
> + if (flow)
> + atomic_set(&flow->pending, 0);

You can't just zero out an atomic counter without extra synchronization
which protects you from the increment paths.

And since you'll need a lock to cover all of those paths, you don't
need to use an atomic_t and instead can use a plain integer.