/* Then, we read the 'next' pointers from the on-card tx ring into our tx_ring array to reduce slow shared-mem reads. Finally, we intitalise the tx house keeping variables.  */
static void mc32_load_tx_ring(struct net_device *dev)
/* Then, we read the 'next' pointers from the on-card tx ring into our tx_ring array to reduce slow shared-mem reads. Finally, we intitalise the tx house keeping variables.  */
static void mc32_load_tx_ring(struct net_device *dev)
{
	struct mc32_local *lp = netdev_priv(dev);
	volatile struct skb_header *p;
	int i;
	u16 tx_base;
	tx_base=lp->tx_box->data[0];
	for(i=0 ; i<TX_RING_LEN ; i++)
	{
		p=isa_bus_to_virt(lp->base+tx_base);
		lp->tx_ring[i].p=p;
		lp->tx_ring[i].skb=NULL;
		tx_base=p->next;
	}
	atomic_set(&lp->tx_count, TX_RING_LEN-1);
	atomic_set(&lp->tx_ring_head, 0);
	lp->tx_ring_tail=0;
}