spin_unlock_irq(&tp->lock); 
spin_unlock_bh(&tp->lock); 
static int tg3_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol){	struct tg3 *tp = netdev_priv(dev);  	if (wol->wolopts & ~WAKE_MAGIC)		return -EINVAL;	if ((wol->wolopts & WAKE_MAGIC) &&	    tp->tg3_flags2 & TG3_FLG2_PHY_SERDES &&	    !(tp->tg3_flags & TG3_FLAG_SERDES_WOL_CAP))		return -EINVAL;  	spin_lock_irq(&tp->lock);	if (wol->wolopts & WAKE_MAGIC)		tp->tg3_flags |= TG3_FLAG_WOL_ENABLE;	else		tp->tg3_flags &= ~TG3_FLAG_WOL_ENABLE;	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