if (err) { printk(KERN_ERR "%s: orinoco_reset: Error %d " "performing  hard reset\n", dev->name, err); /* FIXME: shutdown of some sort */ return; 
if (err) { printk(KERN_ERR "%s: orinoco_reset: Error %d " "performing hard reset\n", dev->name, err); goto disable; } 
static void orinoco_reset(struct net_device *dev){	struct orinoco_private *priv = netdev_priv(dev);	struct hermes *hw = &priv->hw;	int err = 0;	unsigned long flags;	if (orinoco_lock(priv, &flags) != 0)		/* When the hardware becomes available again, whatever		 * detects that is responsible for re-initializing		 * it. So no need for anything further */		return;	netif_stop_queue(dev);	/* Shut off interrupts.  Depending on what state the hardware	 * is in, this might not work, but we'll try anyway */	hermes_set_irqmask(hw, 0);	hermes_write_regn(hw, EVACK, 0xffff);	priv->hw_unavailable++;	priv->last_linkstatus = 0xffff; /* firmware will have to reassociate */	netif_carrier_off(dev);	orinoco_unlock(priv, &flags);	if (priv->hard_reset)		err = (*priv->hard_reset)(priv);	if (err) {		printk(KERN_ERR "%s: orinoco_reset: Error %d "		       "performing  hard reset\n", dev->name, err);		/* FIXME: shutdown of some sort */		return;	}	err = orinoco_reinit_firmware(dev);	if (err) {		printk(KERN_ERR "%s: orinoco_reset: Error %d re-initializing firmware\n",		       dev->name, err);		return;	}	spin_lock_irq(&priv->lock); /* This has to be called from user context */	priv->hw_unavailable--;	/* priv->open or priv->hw_unavailable might have changed while	 * we dropped the lock */	if (priv->open && (! priv->hw_unavailable)) {		err = __orinoco_up(dev);		if (err) {			printk(KERN_ERR "%s: orinoco_reset: Error %d reenabling card\n",			       dev->name, err);		} else			dev->trans_start = jiffies;	}	spin_unlock_irq(&priv->lock);	return;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8551cb980086eb9952387a9f135d6f96af3b82ee/orinoco.c/clean/drivers/net/wireless/orinoco.c