Skip to content

Commit

Permalink
qlcnic: report valid speed and duplex status when link is down
Browse files Browse the repository at this point in the history
Report valid link statistics when link is down.

Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sony Chacko authored and David S. Miller committed Feb 4, 2012
1 parent 646779f commit 476a4b6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
7 changes: 2 additions & 5 deletions drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
{
struct qlcnic_adapter *adapter = netdev_priv(dev);
int check_sfp_module = 0;
u16 pcifn = adapter->ahw->pci_func;

/* read which mode */
if (adapter->ahw->port_type == QLCNIC_GBE) {
Expand Down Expand Up @@ -194,10 +193,8 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
goto skip;
}

val = QLCRD32(adapter, P3P_LINK_SPEED_REG(pcifn));
ethtool_cmd_speed_set(ecmd, P3P_LINK_SPEED_MHZ *
P3P_LINK_SPEED_VAL(pcifn, val));
ecmd->duplex = DUPLEX_FULL;
ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN);
ecmd->duplex = DUPLEX_UNKNOWN;
ecmd->autoneg = AUTONEG_DISABLE;
} else
return -EIO;
Expand Down
8 changes: 7 additions & 1 deletion drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -1369,7 +1369,13 @@ qlcnic_handle_linkevent(struct qlcnic_adapter *adapter,

adapter->module_type = module;
adapter->link_autoneg = autoneg;
adapter->link_speed = link_speed;

if (link_status) {
adapter->link_speed = link_speed;
} else {
adapter->link_speed = SPEED_UNKNOWN;
adapter->link_duplex = DUPLEX_UNKNOWN;
}
}

static void
Expand Down

0 comments on commit 476a4b6

Please sign in to comment.