} while (rtnl && rtnl->sk_receive_queue.qlen);
} while (qlen);
static void rtnetlink_rcv(struct sock *sk, int len){	do {		struct sk_buff *skb;		if (rtnl_shlock_nowait())			return;		while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) {			if (rtnetlink_rcv_skb(skb)) {				if (skb->len)					skb_queue_head(&sk->sk_receive_queue,						       skb);				else					kfree_skb(skb);				break;			}			kfree_skb(skb);		}		up(&rtnl_sem);		netdev_run_todo();	} while (rtnl && rtnl->sk_receive_queue.qlen);}