kernels/linux-2.4.0/drivers/net/sis900.c
/**
 *	sis900_reset: - Reset sis900 MAC 
 *	@net_dev: the net device to reset
 *
 *	reset sis900 MAC and wait until finished
 *	reset through command register
 */
- Reset sis900 MAC
@net_dev: the net device to reset

reset sis900 MAC and wait until finished
reset through command register
- Reset sis900 MAC @net_dev : the net device to reset reset sis900 MAC and wait until finished reset through command register
static void sis900_reset(struct net_device *net_dev)
{
	long ioaddr = net_dev->base_addr;
	int i = 0;
	u32 status = TxRCMP | RxRCMP;
	outl(0, ioaddr + ier);
	outl(0, ioaddr + imr);
	outl(0, ioaddr + rfcr);
	outl(RxRESET | TxRESET | RESET, ioaddr + cr);
	while (status && (i++ < 1000)) {
		status ^= (inl(isr + ioaddr) & status);
	}
	outl(PESEL, ioaddr + cfg);
}
static void sis900_reset ( struct net_device * net_dev ) { long ioaddr = net_dev -> base_addr ; int i = 0 ; u32 status = TxRCMP | RxRCMP ; outl ( 0 , ioaddr + ier ) ; outl ( 0 , ioaddr + imr ) ; outl ( 0 , ioaddr + rfcr ) ; outl ( RxRESET | TxRESET | RESET , ioaddr + cr ) ; while ( status && ( i ++ < 1000 ) ) { status ^= ( inl ( isr + ioaddr ) & status ) ; } outl ( PESEL , ioaddr + cfg ) ; }
sis900_reset: - Reset sis900 MAC
      @net_dev: the net device to reset
sis900_reset : - Reset sis900 MAC @net_dev : the net device to reset
/* Check that the chip has finished the reset. */