On Sun, 28 Feb 2021 16:22:47 +0800 Xuan Zhuo wrote:
> +static void virtnet_put_xdp_sq(struct virtnet_info *vi, struct send_queue
> *sq)
> +{
> + struct netdev_queue *txq;
> + unsigned int qp;
> +
> + if (vi->curr_queue_pairs <= nr_cpu_ids) {
> + qp = sq - vi->sq;
> + txq = netdev_get_tx_queue(vi->dev, qp);
> + __netif_tx_unlock(txq);
> + }
> +}
Could we potentially avoid sparse warnings on this patch by adding the
right annotations?
I've seen this pattern used in a few places:
void maybe_take_some_lock()
__acquires(lock)
{
if (condition) {
lock(lock); /* really take the lock */
} else {
/* tell sparse we took the lock, but don't really take it */
__acquire(lock);
}
}