lkml.org 
[lkml]   [2020]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v2 17/65] staging: wfx: simplify wfx_upload_ap_templates()
Date
From: Jérôme Pouiller <jerome.pouiller@silabs.com>

This function built probe response from data retrieved in beacon. Yet,
this job can be done with ieee80211_proberesp_get(). So, we can simplify
that code (and fix bugs like inclusion of TIM in probe responses).

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
---
drivers/staging/wfx/sta.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
index fdde7ab92302..1181203489f0 100644
--- a/drivers/staging/wfx/sta.c
+++ b/drivers/staging/wfx/sta.c
@@ -783,7 +783,6 @@ static int wfx_update_beaconing(struct wfx_vif *wvif)
static int wfx_upload_ap_templates(struct wfx_vif *wvif)
{
struct sk_buff *skb;
- struct ieee80211_mgmt *mgmt;

if (wvif->vif->type == NL80211_IFTYPE_STATION ||
wvif->vif->type == NL80211_IFTYPE_MONITOR ||
@@ -795,14 +794,11 @@ static int wfx_upload_ap_templates(struct wfx_vif *wvif)
return -ENOMEM;
hif_set_template_frame(wvif, skb, HIF_TMPLT_BCN,
API_RATE_INDEX_B_1MBPS);
+ dev_kfree_skb(skb);

- /* TODO: Distill probe resp; remove TIM and any other beacon-specific
- * IEs
- */
- mgmt = (void *)skb->data;
- mgmt->frame_control =
- cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_PROBE_RESP);
-
+ skb = ieee80211_proberesp_get(wvif->wdev->hw, wvif->vif);
+ if (!skb)
+ return -ENOMEM;
hif_set_template_frame(wvif, skb, HIF_TMPLT_PRBRES,
API_RATE_INDEX_B_1MBPS);
dev_kfree_skb(skb);
--
2.25.0
\
 
 \ /
  Last update: 2020-01-15 15:00    [W:0.239 / U:14.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site