spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock);
tg3_full_unlock(tp);
static int tg3_change_mtu(struct net_device *dev, int new_mtu){	struct tg3 *tp = netdev_priv(dev);	if (new_mtu < TG3_MIN_MTU || new_mtu > TG3_MAX_MTU(tp))		return -EINVAL;	if (!netif_running(dev)) {		/* We'll just catch it later when the		 * device is up'd.		 */		tg3_set_mtu(dev, tp, new_mtu);		return 0;	}	tg3_netif_stop(tp);	spin_lock_irq(&tp->lock);	spin_lock(&tp->tx_lock);	tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);	tg3_set_mtu(dev, tp, new_mtu);	tg3_init_hw(tp);	tg3_netif_start(tp);	spin_unlock(&tp->tx_lock);	spin_unlock_irq(&tp->lock);	return 0;}