e100_start_receiver(nic); 
e100_start_receiver(nic, 0); 
static int e100_loopback_test(struct nic *nic, enum loopback loopback_mode){	int err;	struct sk_buff *skb;	/* Use driver resources to perform internal MAC or PHY	 * loopback test.  A single packet is prepared and transmitted	 * in loopback mode, and the test passes if the received	 * packet compares byte-for-byte to the transmitted packet. */	if((err = e100_rx_alloc_list(nic)))		return err;	if((err = e100_alloc_cbs(nic)))		goto err_clean_rx;	/* ICH PHY loopback is broken so do MAC loopback instead */	if(nic->flags & ich && loopback_mode == lb_phy)		loopback_mode = lb_mac;	nic->loopback = loopback_mode;	if((err = e100_hw_init(nic)))		goto err_loopback_none;	if(loopback_mode == lb_phy)		mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR,			BMCR_LOOPBACK);	e100_start_receiver(nic);	if(!(skb = dev_alloc_skb(ETH_DATA_LEN))) {		err = -ENOMEM;		goto err_loopback_none;	}	skb_put(skb, ETH_DATA_LEN);	memset(skb->data, 0xFF, ETH_DATA_LEN);	e100_xmit_frame(skb, nic->netdev);	msleep(10);	if(memcmp(nic->rx_to_clean->skb->data + sizeof(struct rfd),	   skb->data, ETH_DATA_LEN))		err = -EAGAIN;err_loopback_none:	mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR, 0);	nic->loopback = lb_none;	e100_hw_init(nic);	e100_clean_cbs(nic);err_clean_rx:	e100_rx_clean_list(nic);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1f53367d5d75ba37f258f6e955d6fc24814051a0/e100.c/clean/drivers/net/e100.c