Commit 476a4b6d authored by Sony Chacko's avatar Sony Chacko Committed by David S. Miller

qlcnic: report valid speed and duplex status when link is down

Report valid link statistics when link is down.
Signed-off-by: default avatarSony Chacko <sony.chacko@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 646779f1
...@@ -155,7 +155,6 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd) ...@@ -155,7 +155,6 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
{ {
struct qlcnic_adapter *adapter = netdev_priv(dev); struct qlcnic_adapter *adapter = netdev_priv(dev);
int check_sfp_module = 0; int check_sfp_module = 0;
u16 pcifn = adapter->ahw->pci_func;
/* read which mode */ /* read which mode */
if (adapter->ahw->port_type == QLCNIC_GBE) { if (adapter->ahw->port_type == QLCNIC_GBE) {
...@@ -194,10 +193,8 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd) ...@@ -194,10 +193,8 @@ qlcnic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
goto skip; goto skip;
} }
val = QLCRD32(adapter, P3P_LINK_SPEED_REG(pcifn)); ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN);
ethtool_cmd_speed_set(ecmd, P3P_LINK_SPEED_MHZ * ecmd->duplex = DUPLEX_UNKNOWN;
P3P_LINK_SPEED_VAL(pcifn, val));
ecmd->duplex = DUPLEX_FULL;
ecmd->autoneg = AUTONEG_DISABLE; ecmd->autoneg = AUTONEG_DISABLE;
} else } else
return -EIO; return -EIO;
......
...@@ -1369,7 +1369,13 @@ qlcnic_handle_linkevent(struct qlcnic_adapter *adapter, ...@@ -1369,7 +1369,13 @@ qlcnic_handle_linkevent(struct qlcnic_adapter *adapter,
adapter->module_type = module; adapter->module_type = module;
adapter->link_autoneg = autoneg; 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 static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment