• Amit Cohen's avatar
    selftests: ethtool: Fix test when only two speeds are supported · 10fef9ca
    Amit Cohen authored
    The test case check_highest_speed_is_chosen() configures $h1 to
    advertise a subset of its supported speeds and checks that $h2 chooses
    the highest speed from the subset.
    
    To find the common advertised speeds between $h1 and $h2,
    common_speeds_get() is called.
    
    Currently, the first speed returned from common_speeds_get() is removed
    claiming "h1 does not advertise this speed". The claim is wrong because
    the function is called after $h1 already advertised a subset of speeds.
    
    In case $h1 supports only two speeds, it will advertise a single speed
    which will be later removed because of previously mentioned bug. This
    results in the test needlessly failing. When more than two speeds are
    supported this is not an issue because the first advertised speed
    is the lowest one.
    
    Fix this by not removing any speed from the list of commonly advertised
    speeds.
    
    Fixes: 64916b57 ("selftests: forwarding: Add speed and auto-negotiation test")
    Reported-by: default avatarDanielle Ratson <danieller@mellanox.com>
    Signed-off-by: default avatarAmit Cohen <amitc@mellanox.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    10fef9ca
ethtool.sh 6.93 KB