qtnfmac: convert "Append IEs" command to QTN_TLV_ID_IE_SET usage
Data contained within "Append IEs" command (QLINK_CMD_MGMT_SET_APPIE) duplicates QTN_TLV_ID_IE_SET TLV. Convert the command to use that TLV instead. Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
committed by
Kalle Valo
parent
5face518d4
commit
4d1f0fabdc
@@ -217,10 +217,10 @@ static int qtnf_mgmt_set_appie(struct qtnf_vif *vif,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (!info->beacon_ies || !info->beacon_ies_len) {
|
if (!info->beacon_ies || !info->beacon_ies_len) {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif, QLINK_MGMT_FRAME_BEACON,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif, QLINK_IE_SET_BEACON_IES,
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
} else {
|
} else {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif, QLINK_MGMT_FRAME_BEACON,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif, QLINK_IE_SET_BEACON_IES,
|
||||||
info->beacon_ies,
|
info->beacon_ies,
|
||||||
info->beacon_ies_len);
|
info->beacon_ies_len);
|
||||||
}
|
}
|
||||||
@@ -230,11 +230,11 @@ static int qtnf_mgmt_set_appie(struct qtnf_vif *vif,
|
|||||||
|
|
||||||
if (!info->proberesp_ies || !info->proberesp_ies_len) {
|
if (!info->proberesp_ies || !info->proberesp_ies_len) {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
||||||
QLINK_MGMT_FRAME_PROBE_RESP,
|
QLINK_IE_SET_PROBE_RESP_IES,
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
} else {
|
} else {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
||||||
QLINK_MGMT_FRAME_PROBE_RESP,
|
QLINK_IE_SET_PROBE_RESP_IES,
|
||||||
info->proberesp_ies,
|
info->proberesp_ies,
|
||||||
info->proberesp_ies_len);
|
info->proberesp_ies_len);
|
||||||
}
|
}
|
||||||
@@ -244,11 +244,11 @@ static int qtnf_mgmt_set_appie(struct qtnf_vif *vif,
|
|||||||
|
|
||||||
if (!info->assocresp_ies || !info->assocresp_ies_len) {
|
if (!info->assocresp_ies || !info->assocresp_ies_len) {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
||||||
QLINK_MGMT_FRAME_ASSOC_RESP,
|
QLINK_IE_SET_ASSOC_RESP,
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
} else {
|
} else {
|
||||||
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
ret = qtnf_cmd_send_mgmt_set_appie(vif,
|
||||||
QLINK_MGMT_FRAME_ASSOC_RESP,
|
QLINK_IE_SET_ASSOC_RESP,
|
||||||
info->assocresp_ies,
|
info->assocresp_ies,
|
||||||
info->assocresp_ies_len);
|
info->assocresp_ies_len);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -395,11 +395,10 @@ int qtnf_cmd_send_mgmt_set_appie(struct qtnf_vif *vif, u8 frame_type,
|
|||||||
const u8 *buf, size_t len)
|
const u8 *buf, size_t len)
|
||||||
{
|
{
|
||||||
struct sk_buff *cmd_skb;
|
struct sk_buff *cmd_skb;
|
||||||
struct qlink_cmd_mgmt_append_ie *cmd;
|
|
||||||
u16 res_code = QLINK_CMD_RESULT_OK;
|
u16 res_code = QLINK_CMD_RESULT_OK;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (sizeof(*cmd) + len > QTNF_MAX_CMD_BUF_SIZE) {
|
if (len > QTNF_MAX_CMD_BUF_SIZE) {
|
||||||
pr_warn("VIF%u.%u: %u frame is too big: %zu\n", vif->mac->macid,
|
pr_warn("VIF%u.%u: %u frame is too big: %zu\n", vif->mac->macid,
|
||||||
vif->vifid, frame_type, len);
|
vif->vifid, frame_type, len);
|
||||||
return -E2BIG;
|
return -E2BIG;
|
||||||
@@ -407,22 +406,14 @@ int qtnf_cmd_send_mgmt_set_appie(struct qtnf_vif *vif, u8 frame_type,
|
|||||||
|
|
||||||
cmd_skb = qtnf_cmd_alloc_new_cmdskb(vif->mac->macid, vif->vifid,
|
cmd_skb = qtnf_cmd_alloc_new_cmdskb(vif->mac->macid, vif->vifid,
|
||||||
QLINK_CMD_MGMT_SET_APPIE,
|
QLINK_CMD_MGMT_SET_APPIE,
|
||||||
sizeof(*cmd));
|
sizeof(struct qlink_cmd));
|
||||||
if (unlikely(!cmd_skb))
|
if (unlikely(!cmd_skb))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
qtnf_cmd_tlv_ie_set_add(cmd_skb, frame_type, buf, len);
|
||||||
|
|
||||||
qtnf_bus_lock(vif->mac->bus);
|
qtnf_bus_lock(vif->mac->bus);
|
||||||
|
|
||||||
cmd = (struct qlink_cmd_mgmt_append_ie *)cmd_skb->data;
|
|
||||||
cmd->type = frame_type;
|
|
||||||
cmd->flags = 0;
|
|
||||||
|
|
||||||
/* If len == 0 then IE buf for specified frame type
|
|
||||||
* should be cleared on EP.
|
|
||||||
*/
|
|
||||||
if (len && buf)
|
|
||||||
qtnf_cmd_skb_put_buffer(cmd_skb, buf, len);
|
|
||||||
|
|
||||||
ret = qtnf_cmd_send(vif->mac->bus, cmd_skb, &res_code);
|
ret = qtnf_cmd_send(vif->mac->bus, cmd_skb, &res_code);
|
||||||
|
|
||||||
if (unlikely(ret))
|
if (unlikely(ret))
|
||||||
|
|||||||
@@ -298,21 +298,6 @@ struct qlink_cmd_mgmt_frame_tx {
|
|||||||
u8 frame_data[0];
|
u8 frame_data[0];
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
/**
|
|
||||||
* struct qlink_cmd_mgmt_append_ie - data for QLINK_CMD_MGMT_SET_APPIE command
|
|
||||||
*
|
|
||||||
* @type: type of MGMT frame to appent requested IEs to, one of
|
|
||||||
* &enum qlink_mgmt_frame_type.
|
|
||||||
* @flags: for future use.
|
|
||||||
* @ie_data: IEs data to append.
|
|
||||||
*/
|
|
||||||
struct qlink_cmd_mgmt_append_ie {
|
|
||||||
struct qlink_cmd chdr;
|
|
||||||
u8 type;
|
|
||||||
u8 flags;
|
|
||||||
u8 ie_data[0];
|
|
||||||
} __packed;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct qlink_cmd_get_sta_info - data for QLINK_CMD_GET_STA_INFO command
|
* struct qlink_cmd_get_sta_info - data for QLINK_CMD_GET_STA_INFO command
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user