diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-11-29 07:00:10 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-11-30 07:41:27 -0500 |
commit | b9a9ada14aab17f08c1d9735601f1097cdcfc6de (patch) | |
tree | 47d823b696f262c53d5f52ef60bfb143b8444fa0 /drivers/net/wireless/ti | |
parent | c604b9f219422e969fe371cc7259de34c3c5601d (diff) |
mac80211: remove probe response temporary buffer allocation
Instead of allocating a temporary buffer to build IEs
build them right into the SKB.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r-- | drivers/net/wireless/ti/wl1251/main.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/cmd.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c index 441cbccbd381..f47e8b0482ad 100644 --- a/drivers/net/wireless/ti/wl1251/main.c +++ b/drivers/net/wireless/ti/wl1251/main.c | |||
@@ -896,11 +896,13 @@ static int wl1251_op_hw_scan(struct ieee80211_hw *hw, | |||
896 | goto out; | 896 | goto out; |
897 | 897 | ||
898 | skb = ieee80211_probereq_get(wl->hw, wl->vif, ssid, ssid_len, | 898 | skb = ieee80211_probereq_get(wl->hw, wl->vif, ssid, ssid_len, |
899 | req->ie, req->ie_len); | 899 | req->ie_len); |
900 | if (!skb) { | 900 | if (!skb) { |
901 | ret = -ENOMEM; | 901 | ret = -ENOMEM; |
902 | goto out; | 902 | goto out; |
903 | } | 903 | } |
904 | if (req->ie_len) | ||
905 | memcpy(skb_put(skb, req->ie_len), req->ie, req->ie_len); | ||
904 | 906 | ||
905 | ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, skb->data, | 907 | ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, skb->data, |
906 | skb->len); | 908 | skb->len); |
diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c index eaef3f41b252..27f83f72a93b 100644 --- a/drivers/net/wireless/ti/wlcore/cmd.c +++ b/drivers/net/wireless/ti/wlcore/cmd.c | |||
@@ -1038,11 +1038,13 @@ int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif, | |||
1038 | u16 template_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5; | 1038 | u16 template_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5; |
1039 | 1039 | ||
1040 | skb = ieee80211_probereq_get(wl->hw, vif, ssid, ssid_len, | 1040 | skb = ieee80211_probereq_get(wl->hw, vif, ssid, ssid_len, |
1041 | ie, ie_len); | 1041 | ie_len); |
1042 | if (!skb) { | 1042 | if (!skb) { |
1043 | ret = -ENOMEM; | 1043 | ret = -ENOMEM; |
1044 | goto out; | 1044 | goto out; |
1045 | } | 1045 | } |
1046 | if (ie_len) | ||
1047 | memcpy(skb_put(skb, ie_len), ie, ie_len); | ||
1046 | 1048 | ||
1047 | wl1271_dump(DEBUG_SCAN, "PROBE REQ: ", skb->data, skb->len); | 1049 | wl1271_dump(DEBUG_SCAN, "PROBE REQ: ", skb->data, skb->len); |
1048 | 1050 | ||