/* Write the frame data into adapter's buffer memory, and calculate CRC. Do padding if necessary.  */
static void download_data(struct net_device *, u32 *)
/* Write the frame data into adapter's buffer memory, and calculate CRC. Do padding if necessary.  */
static void download_data(struct net_device *, u32 *)
{
	struct net_local  *nl    = netdev_priv(dev);
	struct sk_buff    *skb	 = nl->tx_buf_p;
	unsigned  len = min_t(unsigned int, skb->len - nl->outpos, nl->framelen);
	outsb( dev->base_addr + DAT, skb->data + nl->outpos, len );
	*crc_p = calc_crc32( *crc_p, skb->data + nl->outpos, len );
	for( len = nl->framelen - len;  len--; )
		outb( 0, dev->base_addr + DAT ),
		*crc_p = CRC32( 0, *crc_p );
}