u16 pci_err = sky2_read16(hw, PCI_C(PCI_STATUS)); 
u16 pci_err;  pci_read_config_word(hw->pdev, PCI_STATUS, &pci_err); 
static void sky2_hw_intr(struct sky2_hw *hw){	u32 status = sky2_read32(hw, B0_HWE_ISRC);	if (status & Y2_IS_TIST_OV) {		pr_debug (PFX "%s: unused timer overflow??\n", 			  pci_name(hw->pdev));		sky2_write8(hw, GMAC_TI_ST_CTRL, GMT_ST_CLR_IRQ);	}	if (status & (Y2_IS_MST_ERR | Y2_IS_IRQ_STAT)) {		u16 pci_err = sky2_read16(hw, PCI_C(PCI_STATUS));		printk(KERN_ERR PFX "%s: pci hw error (0x%x)\n",		       pci_name(hw->pdev), pci_err);		sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);		sky2_write16(hw, PCI_C(PCI_STATUS),			     pci_err | PCI_STATUS_ERROR_BITS);		sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);	}	if (status & Y2_IS_PCI_EXP) {		/* PCI-Express uncorrectable Error occured */		u32 pex_err =  sky2_read32(hw, PCI_C(PEX_UNC_ERR_STAT));		/*		 * On PCI-Express bus bridges are called root complexes.		 * PCI-Express errors are recognized by the root complex too,		 * which requests the system to handle the problem. After error		 * occurence it may be that no access to the adapter may be performed		 * any longer.		 */		printk(KERN_ERR PFX "%s: pci express error (0x%x)\n",		       pci_name(hw->pdev), pex_err);		/* clear the interrupt */		sky2_write32(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);		sky2_write32(hw, PCI_C(PEX_UNC_ERR_STAT), 0xffffffffUL);		sky2_write32(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);		if (pex_err & PEX_FATAL_ERRORS) {			u32 hwmsk = sky2_read32(hw, B0_HWE_IMSK);			hwmsk &= ~Y2_IS_PCI_EXP;			sky2_write32(hw, B0_HWE_IMSK, hwmsk);		}	}	if (status & Y2_HWE_L1_MASK)		sky2_hw_error(hw, 0, status);	status >>= 8;	if (status & Y2_HWE_L1_MASK)		sky2_hw_error(hw, 1, status);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/793b883ed12a6ae6e2901ddb5e038b77d6f0c0ac/sky2.c/buggy/drivers/net/sky2.c