Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b29812c1 authored by Suresh Reddy's avatar Suresh Reddy Committed by David S. Miller
Browse files

be2net: use v1 of SET_FLOW_CONTROL command



In some configurations the FW doesn't allow changing flow control settings
of a link. Unless a v1 version of the SET_FLOW_CONTROL cmd is used, the FW
doesn't report an error to the driver.

Signed-off-by: default avatarSuresh Reddy <Suresh.Reddy@emulex.com>
Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c30d7266
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1948,6 +1948,7 @@ int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)
			       OPCODE_COMMON_SET_FLOW_CONTROL, sizeof(*req),
			       wrb, NULL);

	req->hdr.version = 1;
	req->tx_flow_control = cpu_to_le16((u16)tx_fc);
	req->rx_flow_control = cpu_to_le16((u16)rx_fc);

@@ -1955,6 +1956,10 @@ int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)

err:
	spin_unlock_bh(&adapter->mcc_lock);

	if (base_status(status) == MCC_STATUS_FEATURE_NOT_SUPPORTED)
		return  -EOPNOTSUPP;

	return status;
}

+2 −1
Original line number Diff line number Diff line
@@ -57,7 +57,8 @@ enum mcc_base_status {
	MCC_STATUS_ILLEGAL_FIELD = 3,
	MCC_STATUS_INSUFFICIENT_BUFFER = 4,
	MCC_STATUS_UNAUTHORIZED_REQUEST = 5,
	MCC_STATUS_NOT_SUPPORTED = 66
	MCC_STATUS_NOT_SUPPORTED = 66,
	MCC_STATUS_FEATURE_NOT_SUPPORTED = 68
};

/* Additional status */