icucr = inl(ICUCR1); 
icucr = inl(M32R_ICU_CR1_PORTL); 
void ei_tx_timeout(struct net_device *dev){	long e8390_base = dev->base_addr;	struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);	int txsr, isr, tickssofar = jiffies - dev->trans_start;	unsigned long flags;#if defined(CONFIG_M32R) && defined(CONFIG_SMP)	unsigned long icucr;	local_irq_save(flags);	icucr = inl(ICUCR1);	icucr |= M32R_ICUCR_ISMOD11;	outl(icucr, ICUCR1);	local_irq_restore(flags);#endif	ei_local->stat.tx_errors++;	spin_lock_irqsave(&ei_local->page_lock, flags);	txsr = inb(e8390_base+EN0_TSR);	isr = inb(e8390_base+EN0_ISR);	spin_unlock_irqrestore(&ei_local->page_lock, flags);	printk(KERN_DEBUG "%s: Tx timed out, %s TSR=%#2x, ISR=%#2x, t=%d.\n",		dev->name, (txsr & ENTSR_ABT) ? "excess collisions." :		(isr) ? "lost interrupt?" : "cable problem?", txsr, isr, tickssofar);	if (!isr && !ei_local->stat.tx_packets) 	{		/* The 8390 probably hasn't gotten on the cable yet. */		ei_local->interface_num ^= 1;   /* Try a different xcvr.  */	}	/* Ugly but a reset can be slow, yet must be protected */			disable_irq_nosync(dev->irq);	spin_lock(&ei_local->page_lock);			/* Try to restart the card.  Perhaps the user has fixed something. */	ei_reset_8390(dev);	NS8390_init(dev, 1);			spin_unlock(&ei_local->page_lock);	enable_irq(dev->irq);	netif_wake_queue(dev);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0adbb44a146d6dff3f74ea7a9d3826f8942ed709/8390.c/clean/drivers/net/8390.c