|
@@ -322,10 +322,11 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
|
|
|
int status;
|
|
|
u16 intf_type;
|
|
|
|
|
|
- if (adapter->link_speed < 0) {
|
|
|
+ if ((adapter->link_speed < 0) || (!(netdev->flags & IFF_UP))) {
|
|
|
status = be_cmd_link_status_query(adapter, &link_up,
|
|
|
&mac_speed, &link_speed);
|
|
|
|
|
|
+ be_link_status_update(adapter, link_up);
|
|
|
/* link_speed is in units of 10 Mbps */
|
|
|
if (link_speed) {
|
|
|
ecmd->speed = link_speed*10;
|