kernels/linux-2.4.0/drivers/net/ppp_generic.c
/*
 * Called to do any work queued up on the transmit side
 * that can now be done.
 */
Called to do any work queued up on the transmit side
that can now be done.
Called to do any work queued up on the transmit side that can now be done .
static void
ppp_xmit_process(struct ppp *ppp)
{
	struct sk_buff *skb;
	ppp_xmit_lock(ppp);
	ppp_push(ppp);
	while (ppp->xmit_pending == 0
	       && (skb = skb_dequeue(&ppp->file.xq)) != 0)
		ppp_send_frame(ppp, skb);
	if (ppp->xmit_pending == 0 && skb_peek(&ppp->file.xq) == 0
	    && ppp->dev != 0)
		netif_wake_queue(ppp->dev);
	ppp_xmit_unlock(ppp);
}
static void ppp_xmit_process ( struct ppp * ppp ) { struct sk_buff * skb ; ppp_xmit_lock ( ppp ) ; ppp_push ( ppp ) ; while ( ppp -> xmit_pending == 0 && ( skb = skb_dequeue ( & ppp -> file . xq ) ) != 0 ) ppp_send_frame ( ppp , skb ) ; if ( ppp -> xmit_pending == 0 && skb_peek ( & ppp -> file . xq ) == 0 && ppp -> dev != 0 ) netif_wake_queue ( ppp -> dev ) ; ppp_xmit_unlock ( ppp ) ; }
Called to do any work queued up on the transmit side
 that can now be done.
Called to do any work queued up on the transmit side that can now be done .
/* If there's no work left to do, tell the core net
	   code that we can accept some more. */