qlen++; } else
else
static void rtnetlink_rcv(struct sock *sk, int len){	unsigned int qlen = skb_queue_len(&sk->sk_receive_queue);	do {		struct sk_buff *skb;		rtnl_lock();		if (qlen > skb_queue_len(&sk->sk_receive_queue))			qlen = skb_queue_len(&sk->sk_receive_queue);		while (qlen--) {			skb = skb_dequeue(&sk->sk_receive_queue);			if (rtnetlink_rcv_skb(skb)) {				if (skb->len) {					skb_queue_head(&sk->sk_receive_queue,						       skb);					qlen++;				} else					kfree_skb(skb);				break;			}			kfree_skb(skb);		}		up(&rtnl_sem);		netdev_run_todo();	} while (qlen);}