err_reg = readq(&bar0->mac_rmac_err_reg); writeq(err_reg, &bar0->mac_rmac_err_reg); if (err_reg & RMAC_LINK_STATE_CHANGE_INT) { schedule_work(&nic->set_link_task); 
if (s2io_link_fault_indication(nic) == MAC_RMAC_ERR_TIMER) { err_reg = readq(&bar0->mac_rmac_err_reg); writeq(err_reg, &bar0->mac_rmac_err_reg); if (err_reg & RMAC_LINK_STATE_CHANGE_INT) { schedule_work(&nic->set_link_task); } 
static void alarm_intr_handler(struct s2io_nic *nic){	struct net_device *dev = (struct net_device *) nic->dev;	XENA_dev_config_t __iomem *bar0 = nic->bar0;	register u64 val64 = 0, err_reg = 0;	/* Handling link status change error Intr */	err_reg = readq(&bar0->mac_rmac_err_reg);	writeq(err_reg, &bar0->mac_rmac_err_reg);	if (err_reg & RMAC_LINK_STATE_CHANGE_INT) {		schedule_work(&nic->set_link_task);	}	/* Handling Ecc errors */	val64 = readq(&bar0->mc_err_reg);	writeq(val64, &bar0->mc_err_reg);	if (val64 & (MC_ERR_REG_ECC_ALL_SNG | MC_ERR_REG_ECC_ALL_DBL)) {		if (val64 & MC_ERR_REG_ECC_ALL_DBL) {			nic->mac_control.stats_info->sw_stat.				double_ecc_errs++;			DBG_PRINT(ERR_DBG, "%s: Device indicates ",				  dev->name);			DBG_PRINT(ERR_DBG, "double ECC error!!\n");			netif_stop_queue(dev);			schedule_work(&nic->rst_timer_task);		} else {			nic->mac_control.stats_info->sw_stat.				single_ecc_errs++;		}	}	/* In case of a serious error, the device will be Reset. */	val64 = readq(&bar0->serr_source);	if (val64 & SERR_SOURCE_ANY) {		DBG_PRINT(ERR_DBG, "%s: Device indicates ", dev->name);		DBG_PRINT(ERR_DBG, "serious error!!\n");		netif_stop_queue(dev);		schedule_work(&nic->rst_timer_task);	}	/*	 * Also as mentioned in the latest Errata sheets if the PCC_FB_ECC	 * Error occurs, the adapter will be recycled by disabling the	 * adapter enable bit and enabling it again after the device	 * becomes Quiescent.	 */	val64 = readq(&bar0->pcc_err_reg);	writeq(val64, &bar0->pcc_err_reg);	if (val64 & PCC_FB_ECC_DB_ERR) {		u64 ac = readq(&bar0->adapter_control);		ac &= ~(ADAPTER_CNTL_EN);		writeq(ac, &bar0->adapter_control);		ac = readq(&bar0->adapter_control);		schedule_work(&nic->set_link_task);	}	/* Other type of interrupts are not being handled now,  TODO */}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a371a07de9bce837ea4e84569a2b390a42e360ef/s2io.c/clean/drivers/net/s2io.c