Skip to content

Commit

Permalink
qlogic: qlcnic: fix use of SPEED_UNKNOWN ethtool constant
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
michaelzhivich authored and davem330 committed Apr 8, 2019
1 parent caf2c52 commit d63da85
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
Expand Up @@ -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;
Expand Down

0 comments on commit d63da85

Please sign in to comment.