/* This function is called when a packet transmission fails to complete within a reasonable period, on the assumption that an interrupt have failed or the interface is locked up. This function will reinitialize the hardware.  */
static void amd8111e_tx_timeout(struct net_device *dev)
/* This function is called when a packet transmission fails to complete within a reasonable period, on the assumption that an interrupt have failed or the interface is locked up. This function will reinitialize the hardware.  */
static void amd8111e_tx_timeout(struct net_device *dev)
{
	struct amd8111e_priv* lp = netdev_priv(dev);
	int err;
	printk(KERN_ERR "%s: transmit timed out, resetting\n",
	 					      dev->name);
	spin_lock_irq(&lp->lock);
	err = amd8111e_restart(dev);
	spin_unlock_irq(&lp->lock);
	if(!err)
		netif_wake_queue(dev);
}