addr = etherh_priv(dev)->base; 
addr = (void *)dev->base_addr; 
etherh_get_header (struct net_device *dev, struct e8390_pkt_hdr *hdr, int ring_page){	struct ei_device *ei_local = netdev_priv(dev);	void __iomem *dma_base, *addr;	if (ei_local->dmaing) {		printk(KERN_ERR "%s: DMAing conflict in etherh_get_header: "			" DMAstat %d irqlock %d\n", dev->name,			ei_local->dmaing, ei_local->irqlock);		return;	}	ei_local->dmaing = 1;	addr = etherh_priv(dev)->base;	dma_base = etherh_priv(dev)->dma_base;	writeb (E8390_NODMA | E8390_PAGE0 | E8390_START, addr + E8390_CMD);	writeb (sizeof (*hdr), addr + EN0_RCNTLO);	writeb (0, addr + EN0_RCNTHI);	writeb (0, addr + EN0_RSARLO);	writeb (ring_page, addr + EN0_RSARHI);	writeb (E8390_RREAD | E8390_START, addr + E8390_CMD);	if (ei_local->word16)		readsw (dma_base, hdr, sizeof (*hdr) >> 1);	else		readsb (dma_base, hdr, sizeof (*hdr));	writeb (ENISR_RDC, addr + EN0_ISR);	ei_local->dmaing = 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c7e788766610bdc764d7150e69ace2e0c4196cf0/etherh.c/buggy/drivers/net/arm/etherh.c