/* This resets, configures the MAC, initialises the RX ring and DMA engines and starts the TX queue for a KS8695 ethernet device.  */
static int ks8695_open(struct net_device *ndev)
/* This resets, configures the MAC, initialises the RX ring and DMA engines and starts the TX queue for a KS8695 ethernet device.  */
static int ks8695_open(struct net_device *ndev)
{
	struct ks8695_priv *ksp = netdev_priv(ndev);
	int ret;
	if (!is_valid_ether_addr(ndev->dev_addr))
		return -EADDRNOTAVAIL;
	ks8695_reset(ksp);
	ks8695_update_mac(ksp);
	ret = ks8695_init_net(ksp);
	if (ret) {
		ks8695_shutdown(ksp);
		return ret;
	}
	napi_enable(&ksp->napi);
	netif_start_queue(ndev);
	return 0;
}