be2net: return error status from be_set_phys_id()
be_set_phys_id() returns 0 to ethtool when the command fails in the FW. This patch fixes the set_phys_id() to return -EIO in case the FW cmd fails. Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com> Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
19f76f6350
commit
a5a773a54e
@@ -720,29 +720,32 @@ static int be_set_phys_id(struct net_device *netdev,
|
||||
enum ethtool_phys_id_state state)
|
||||
{
|
||||
struct be_adapter *adapter = netdev_priv(netdev);
|
||||
int status = 0;
|
||||
|
||||
switch (state) {
|
||||
case ETHTOOL_ID_ACTIVE:
|
||||
be_cmd_get_beacon_state(adapter, adapter->hba_port_num,
|
||||
&adapter->beacon_state);
|
||||
return 1; /* cycle on/off once per second */
|
||||
status = be_cmd_get_beacon_state(adapter, adapter->hba_port_num,
|
||||
&adapter->beacon_state);
|
||||
if (status)
|
||||
return be_cmd_status(status);
|
||||
return 1; /* cycle on/off once per second */
|
||||
|
||||
case ETHTOOL_ID_ON:
|
||||
be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0,
|
||||
BEACON_STATE_ENABLED);
|
||||
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
|
||||
0, 0, BEACON_STATE_ENABLED);
|
||||
break;
|
||||
|
||||
case ETHTOOL_ID_OFF:
|
||||
be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0,
|
||||
BEACON_STATE_DISABLED);
|
||||
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
|
||||
0, 0, BEACON_STATE_DISABLED);
|
||||
break;
|
||||
|
||||
case ETHTOOL_ID_INACTIVE:
|
||||
be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0,
|
||||
adapter->beacon_state);
|
||||
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
|
||||
0, 0, adapter->beacon_state);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return be_cmd_status(status);
|
||||
}
|
||||
|
||||
static int be_set_dump(struct net_device *netdev, struct ethtool_dump *dump)
|
||||
|
Reference in New Issue
Block a user