qlogic: qlcnic: fix use of SPEED_UNKNOWN ethtool constant

qlcnic driver uses u16 to store SPEED_UKNOWN ethtool constant,
which is defined as -1, resulting in value truncation and
thus incorrect test results against SPEED_UNKNOWN.

For example, the following test will print "False":

    u16 speed = SPEED_UNKNOWN;

    if (speed == SPEED_UNKNOWN)
        printf("True");
    else
        printf("False");

Change storage of speed to use u32 to avoid this issue.

Signed-off-by: Michael Zhivich <mzhivich@akamai.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Michael Zhivich 2019-04-08 10:48:47 -04:00 коммит произвёл David S. Miller
Родитель caf2c5205d
Коммит d63da85a42
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -497,7 +497,7 @@ struct qlcnic_hardware_context {
u16 board_type;
u16 supported_type;
u16 link_speed;
u32 link_speed;
u16 link_duplex;
u16 link_autoneg;
u16 module_type;