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

Commit a0cb7be4 authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville
Browse files

wl1271: Don't generate null func template for ad-hoc



The null func template is not needed for ad-hoc, and it's generation is not
supported for ad-hoc (mac80211 will WARN about it.)

Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarTeemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 14b228a0
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -709,18 +709,30 @@ int wl1271_cmd_template_set(struct wl1271 *wl, u16 template_id,

int wl1271_cmd_build_null_data(struct wl1271 *wl)
{
	struct sk_buff *skb;
	int ret = 0;
	struct sk_buff *skb = NULL;
	int size;
	void *ptr;
	int ret = -ENOMEM;


	if (wl->bss_type == BSS_TYPE_IBSS) {
		size = sizeof(struct wl12xx_null_data_template);
		ptr = NULL;
	} else {
		skb = ieee80211_nullfunc_get(wl->hw, wl->vif);
		if (!skb)
			goto out;
		size = skb->len;
		ptr = skb->data;
	}

	ret = wl1271_cmd_template_set(wl, CMD_TEMPL_NULL_DATA, skb->data,
				      skb->len);
	ret = wl1271_cmd_template_set(wl, CMD_TEMPL_NULL_DATA, ptr, size);

out:
	dev_kfree_skb(skb);
	if (ret)
		wl1271_warning("cmd buld null data failed %d", ret);

	return ret;

}
+2 −4
Original line number Diff line number Diff line
@@ -1619,12 +1619,10 @@ static void wl1271_op_bss_info_changed(struct ieee80211_hw *hw,
	     */
	    memcmp(wl->bssid, bss_conf->bssid, ETH_ALEN)) {
			memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);

			ret = wl1271_cmd_build_null_data(wl);
			if (ret < 0) {
				wl1271_warning("cmd buld null data failed %d",
					       ret);
			if (ret < 0)
				goto out_sleep;
			}

			/* filter out all packets not from this BSSID */
			wl1271_configure_filters(wl, 0);