kernels/linux-2.4.0/drivers/net/tokenring/tms380tr.c
/*
 * Gets skb from system, queues it and checks if it can be sent
 */
Gets skb from system, queues it and checks if it can be sent
Gets skb from system queues it and checks if it can be sent
static int tms380tr_send_packet(struct sk_buff *skb, struct net_device *dev)
{
	struct net_local *tp = (struct net_local *)dev->priv;
	netif_stop_queue(dev);
	if(tp->QueueSkb == 0)
		return (1);	
	tp->QueueSkb--;
	skb_queue_tail(&tp->SendSkbQueue, skb);
	tms380tr_hardware_send_packet(dev, tp);
	if(tp->QueueSkb > 0)
		netif_wake_queue(dev);
	return (0);
}
static int tms380tr_send_packet ( struct sk_buff * skb , struct net_device * dev ) { struct net_local * tp = ( struct net_local * ) dev -> priv ; netif_stop_queue ( dev ) ; if ( tp -> QueueSkb == 0 ) return ( 1 ) ; tp -> QueueSkb -- ; skb_queue_tail ( & tp -> SendSkbQueue , skb ) ; tms380tr_hardware_send_packet ( dev , tp ) ; if ( tp -> QueueSkb > 0 ) netif_wake_queue ( dev ) ; return ( 0 ) ; }
Gets skb from system, queues it and checks if it can be sent
Gets skb from system queues it and checks if it can be sent
/*
	 * Block transmits from overlapping. 
	 */ /* Return with tbusy set: queue full */