On Mon, 2012-01-16 at 13:15 +0100, Marco Porsch wrote: > ieee80211_xmit is called at the end of the function. Which then calls > ieee80211_set_qos_hdr. > > But ieee80211_set_qos_hdr will completely overwrite the QoS header again. > So, what is wrong here? You, I think? void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) ... /* preserve EOSP bit */ ack_policy = *p & IEEE80211_QOS_CTL_EOSP; ... /* qos header is 2 bytes */ *p++ = ack_policy | tid; *p = ieee80211_vif_is_mesh(&sdata->vif) ? (IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT >> 8) : 0; johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html