e1000_check_downshift(struct e1000_hw *hw){    int32_t ret_val;    uint16_t phy_data;    DEBUGFUNC("e1000_check_downshift");    if(hw->phy_type == e1000_phy_igp) {        ret_val = e1000_read_phy_reg(hw, IGP01E1000_PHY_LINK_HEALTH,                                     &phy_data);        if(ret_val)            return ret_val;        hw->speed_downgraded = (phy_data & IGP01E1000_PLHR_SS_DOWNGRADE) ? 1 : 0;    } else if(hw->phy_type == e1000_phy_m88) {        ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS,                                     &phy_data);        if(ret_val)            return ret_val;        hw->speed_downgraded = (phy_data & M88E1000_PSSR_DOWNSHIFT) >>                               M88E1000_PSSR_DOWNSHIFT_SHIFT;    }    return E1000_SUCCESS;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2d7edb923a823660b081bd4c660300ee19adca8d/e1000_hw.c/buggy/drivers/net/e1000/e1000_hw.c