spin_lock_irq(&tp->lock); spin_lock(&tp->tx_lock); 
tg3_full_lock(tp, 0); 
static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering){	struct tg3 *tp = netdev_priv(dev);  	if ((ering->rx_pending > TG3_RX_RING_SIZE - 1) ||	    (ering->rx_jumbo_pending > TG3_RX_JUMBO_RING_SIZE - 1) ||	    (ering->tx_pending > TG3_TX_RING_SIZE - 1))		return -EINVAL;  	if (netif_running(dev))		tg3_netif_stop(tp);	spin_lock_irq(&tp->lock);	spin_lock(&tp->tx_lock);  	tp->rx_pending = ering->rx_pending;	if ((tp->tg3_flags2 & TG3_FLG2_MAX_RXPEND_64) &&	    tp->rx_pending > 63)		tp->rx_pending = 63;	tp->rx_jumbo_pending = ering->rx_jumbo_pending;	tp->tx_pending = ering->tx_pending;	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;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f47c11eeccc8820010992eb32dbe7370a08f8bd3/tg3.c/buggy/drivers/net/tg3.c