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

Commit 40aefedc authored by Marco Porsch's avatar Marco Porsch Committed by Johannes Berg
Browse files

mac80211: refactor ieee80211_set_qos_hdr



Return early if not a QoS Data frame.
Give proper documentation.

Signed-off-by: default avatarMarco Porsch <marco.porsch@etit.tu-chemnitz.de>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 65821635
Loading
Loading
Loading
Loading
+23 −17
Original line number Diff line number Diff line
@@ -160,17 +160,24 @@ u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
	return ieee80211_downgrade_queue(sdata, skb);
}

/**
 * ieee80211_set_qos_hdr - Fill in the QoS header if there is one.
 *
 * @sdata: local subif
 * @skb: packet to be updated
 */
void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata,
			   struct sk_buff *skb)
{
	struct ieee80211_hdr *hdr = (void *)skb->data;
	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);

	/* Fill in the QoS header if there is one. */
	if (ieee80211_is_data_qos(hdr->frame_control)) {
		u8 *p = ieee80211_get_qos_ctl(hdr);
	u8 *p;
	u8 ack_policy, tid;

	if (!ieee80211_is_data_qos(hdr->frame_control))
		return;

	p = ieee80211_get_qos_ctl(hdr);
	tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK;

	/* preserve EOSP bit */
@@ -187,4 +194,3 @@ void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata,
	*p = ieee80211_vif_is_mesh(&sdata->vif) ?
		(IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT >> 8) : 0;
}
}