spin_unlock_irqrestore(&tp->lock, flags); 
spin_unlock_bh(&tp->lock); 
static unsigned long calc_crc_errors(struct tg3 *tp){	struct tg3_hw_stats *hw_stats = tp->hw_stats;	if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) &&	    (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 ||	     GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)) {		unsigned long flags;		u32 val;		spin_lock_irqsave(&tp->lock, flags);		if (!tg3_readphy(tp, 0x1e, &val)) {			tg3_writephy(tp, 0x1e, val | 0x8000);			tg3_readphy(tp, 0x14, &val);		} else			val = 0;		spin_unlock_irqrestore(&tp->lock, flags);		tp->phy_crc_errors += val;		return tp->phy_crc_errors;	}	return get_stat64(&hw_stats->rx_fcs_errors);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f47c11eeccc8820010992eb32dbe7370a08f8bd3/tg3.c/buggy/drivers/net/tg3.c