Commit f7efd01f authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: enqueue_to_backlog() cleanup



We can remove a goto and a label by reversing a condition.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a7ae7b0b
Loading
Loading
Loading
Loading
+11 −13
Original line number Diff line number Diff line
@@ -4816,22 +4816,20 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
	backlog_lock_irq_save(sd, &flags);
	qlen = skb_queue_len(&sd->input_pkt_queue);
	if (qlen <= max_backlog && !skb_flow_limit(skb, qlen)) {
		if (qlen) {
enqueue:
		if (!qlen) {
			/* Schedule NAPI for backlog device. We can use
			 * non atomic operation as we own the queue lock.
			 */
			if (!__test_and_set_bit(NAPI_STATE_SCHED,
						&sd->backlog.state))
				napi_schedule_rps(sd);
		}
		__skb_queue_tail(&sd->input_pkt_queue, skb);
		input_queue_tail_incr_save(sd, qtail);
		backlog_unlock_irq_restore(sd, &flags);
		return NET_RX_SUCCESS;
	}

		/* Schedule NAPI for backlog device
		 * We can use non atomic operation since we own the queue lock
		 */
		if (!__test_and_set_bit(NAPI_STATE_SCHED, &sd->backlog.state))
			napi_schedule_rps(sd);
		goto enqueue;
	}

	backlog_unlock_irq_restore(sd, &flags);

cpu_backlog_drop: