spin_lock_irq(&tp->lock); 
spin_lock_bh(&tp->lock); 
static int tg3_nway_reset(struct net_device *dev){	struct tg3 *tp = netdev_priv(dev);	u32 bmcr;	int r;  	if (!netif_running(dev))		return -EAGAIN;	spin_lock_irq(&tp->lock);	r = -EINVAL;	tg3_readphy(tp, MII_BMCR, &bmcr);	if (!tg3_readphy(tp, MII_BMCR, &bmcr) &&	    (bmcr & BMCR_ANENABLE)) {		tg3_writephy(tp, MII_BMCR, bmcr | BMCR_ANRESTART);		r = 0;	}	spin_unlock_irq(&tp->lock);  	return r;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f47c11eeccc8820010992eb32dbe7370a08f8bd3/tg3.c/buggy/drivers/net/tg3.c