/* this makes the board clean up everything that it can and not talk to the outside world. Caused by an 'ifconfig ethX down'  */
static int smc_close(struct net_device *dev)
/* this makes the board clean up everything that it can and not talk to the outside world. Caused by an 'ifconfig ethX down'  */
static int smc_close(struct net_device *dev)
{
	struct smc_local *lp = netdev_priv(dev);
	DBG(2, "%s: %s\n", dev->name, __func__);
	netif_stop_queue(dev);
	netif_carrier_off(dev);
	smc_shutdown(dev);
	tasklet_kill(&lp->tx_task);
	smc_phy_powerdown(dev);
	return 0;
}