hw->autoneg_advertised = 0x002F; ecmd->advertising = 0x002F; 
if(hw->media_type == e1000_media_type_fiber) hw->autoneg_advertised = ADVERTISED_1000baseT_Full | ADVERTISED_FIBRE | ADVERTISED_Autoneg; else hw->autoneg_advertised = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full | ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full | ADVERTISED_1000baseT_Full| ADVERTISED_Autoneg | ADVERTISED_TP; ecmd->advertising = hw->autoneg_advertised; 
e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd){	struct e1000_adapter *adapter = netdev_priv(netdev);	struct e1000_hw *hw = &adapter->hw;	if(ecmd->autoneg == AUTONEG_ENABLE) {		hw->autoneg = 1;		hw->autoneg_advertised = 0x002F;		ecmd->advertising = 0x002F;	} else		if(e1000_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex))			return -EINVAL;	/* reset the link */	if(netif_running(adapter->netdev)) {		e1000_down(adapter);		e1000_reset(adapter);		e1000_up(adapter);	} else		e1000_reset(adapter);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/012609a877bbb7508e273d642b245d7633bc45a4/e1000_ethtool.c/buggy/drivers/net/e1000/e1000_ethtool.c