Commit 6d85930f authored by Sergey Matyukevich's avatar Sergey Matyukevich Committed by Kalle Valo

qtnfmac: add support for scan flush

Notify firmware to flush cache before scanning when needed.
Signed-off-by: default avatarSergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 35da3fe6
...@@ -2197,6 +2197,12 @@ int qtnf_cmd_send_scan(struct qtnf_wmac *mac) ...@@ -2197,6 +2197,12 @@ int qtnf_cmd_send_scan(struct qtnf_wmac *mac)
scan_req->mac_addr_mask); scan_req->mac_addr_mask);
} }
if (scan_req->flags & NL80211_SCAN_FLAG_FLUSH) {
pr_debug("MAC%u: flush cache before scan\n", mac->macid);
qtnf_cmd_skb_put_tlv_tag(cmd_skb, QTN_TLV_ID_SCAN_FLUSH);
}
ret = qtnf_cmd_send(mac->bus, cmd_skb); ret = qtnf_cmd_send(mac->bus, cmd_skb);
if (ret) if (ret)
goto out; goto out;
......
...@@ -1151,6 +1151,7 @@ enum qlink_tlv_id { ...@@ -1151,6 +1151,7 @@ enum qlink_tlv_id {
QTN_TLV_ID_MAX_SCAN_SSIDS = 0x0409, QTN_TLV_ID_MAX_SCAN_SSIDS = 0x0409,
QTN_TLV_ID_WOWLAN_CAPAB = 0x0410, QTN_TLV_ID_WOWLAN_CAPAB = 0x0410,
QTN_TLV_ID_WOWLAN_PATTERN = 0x0411, QTN_TLV_ID_WOWLAN_PATTERN = 0x0411,
QTN_TLV_ID_SCAN_FLUSH = 0x0412,
}; };
struct qlink_tlv_hdr { struct qlink_tlv_hdr {
......
...@@ -40,6 +40,14 @@ static inline void qtnf_cmd_skb_put_tlv_arr(struct sk_buff *skb, ...@@ -40,6 +40,14 @@ static inline void qtnf_cmd_skb_put_tlv_arr(struct sk_buff *skb,
memcpy(hdr->val, arr, arr_len); memcpy(hdr->val, arr, arr_len);
} }
static inline void qtnf_cmd_skb_put_tlv_tag(struct sk_buff *skb, u16 tlv_id)
{
struct qlink_tlv_hdr *hdr = skb_put(skb, sizeof(*hdr));
hdr->type = cpu_to_le16(tlv_id);
hdr->len = cpu_to_le16(0);
}
static inline void qtnf_cmd_skb_put_tlv_u8(struct sk_buff *skb, u16 tlv_id, static inline void qtnf_cmd_skb_put_tlv_u8(struct sk_buff *skb, u16 tlv_id,
u8 value) u8 value)
{ {
......
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