spin_lock_irq(&tp->lock); spin_lock(&tp->tx_lock);
tg3_full_lock(tp, 1);
static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause){	struct tg3 *tp = netdev_priv(dev);  	if (netif_running(dev))		tg3_netif_stop(tp);	spin_lock_irq(&tp->lock);	spin_lock(&tp->tx_lock);	if (epause->autoneg)		tp->tg3_flags |= TG3_FLAG_PAUSE_AUTONEG;	else		tp->tg3_flags &= ~TG3_FLAG_PAUSE_AUTONEG;	if (epause->rx_pause)		tp->tg3_flags |= TG3_FLAG_RX_PAUSE;	else		tp->tg3_flags &= ~TG3_FLAG_RX_PAUSE;	if (epause->tx_pause)		tp->tg3_flags |= TG3_FLAG_TX_PAUSE;	else		tp->tg3_flags &= ~TG3_FLAG_TX_PAUSE;	if (netif_running(dev)) {		tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);		tg3_init_hw(tp);		tg3_netif_start(tp);	}	spin_unlock(&tp->tx_lock);	spin_unlock_irq(&tp->lock);  	return 0;}