/* This routine should set everything up anew at each open, even registers that "should" only need to be set once at boot, so that there is a non-reboot way to recover if something goes wrong.  */
static int de600_open(struct net_device *dev)
/* This routine should set everything up anew at each open, even registers that "should" only need to be set once at boot, so that there is a non-reboot way to recover if something goes wrong.  */
static int de600_open(struct net_device *dev)
{
	unsigned long flags;
	int ret = request_irq(DE600_IRQ, de600_interrupt, 0, dev->name, dev);
	if (ret) {
		printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
		return ret;
	}
	spin_lock_irqsave(&de600_lock, flags);
	ret = adapter_init(dev);
	spin_unlock_irqrestore(&de600_lock, flags);
	return ret;
}