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

Commit fae2fd76 authored by Arik Nemtsov's avatar Arik Nemtsov Committed by Luciano Coelho
Browse files

wl12xx: use 802.11 header location after relocation to frame start



When operating with TKIP encryption, the function wl1271_tx_fill_hdr()
relocates the 802.11 header to the start of the frame, and leaves room
for the security header.

Some functions in the Tx path rely on the location of the header,
namely, for purposes of roaming in STA mode and connecting new stations
in AP mode. Call these functions only after the header is relocated.

Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 3618f30f
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -383,6 +383,8 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct sk_buff *skb,
	if (ret < 0)
	if (ret < 0)
		return ret;
		return ret;


	wl1271_tx_fill_hdr(wl, skb, extra, info, hlid);

	if (wl->bss_type == BSS_TYPE_AP_BSS) {
	if (wl->bss_type == BSS_TYPE_AP_BSS) {
		wl1271_tx_ap_update_inconnection_sta(wl, skb);
		wl1271_tx_ap_update_inconnection_sta(wl, skb);
		wl1271_tx_regulate_link(wl, hlid);
		wl1271_tx_regulate_link(wl, hlid);
@@ -390,8 +392,6 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct sk_buff *skb,
		wl1271_tx_update_filters(wl, skb);
		wl1271_tx_update_filters(wl, skb);
	}
	}


	wl1271_tx_fill_hdr(wl, skb, extra, info, hlid);

	/*
	/*
	 * The length of each packet is stored in terms of
	 * The length of each packet is stored in terms of
	 * words. Thus, we must pad the skb data to make sure its
	 * words. Thus, we must pad the skb data to make sure its