• Hiroaki SHIMODA's avatar
    tg3: Fix advertisement handling · 202ff1c2
    Hiroaki SHIMODA authored
    Commit 28011cf1 (net: Add ethtool to mii advertisment conversion
    helpers) added a helper function ethtool_adv_to_mii_100bt() and
    tg3_copper_is_advertising_all(), tg3_phy_autoneg_cfg() were
    modified to use this.
    Before that commit, ethtool to mii advertisement conversion was
    done wrt speed, but now pause operation is also taken account.
    So, in tg3_copper_is_advertising_all(), below condition becomes
    true and this makes link up fails.
    
    	if ((adv_reg & ADVERTISE_ALL) != all_mask)
    		return 0;
    
    To fix this add ADVERTISE_ALL bit and operation to cap speed,
    and change default advertisement not including ADVERTISED_Pause.
    Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    202ff1c2
tg3.c 416 KB