The commit 65b6a277 titled "ieee80211: Fix header->qos_ctl endian issue" *introduced* an endianness bug. Partially revert it. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> --- Grumble. No comments on this for months so I'll just do this. Looks like these people aren't able to follow endianness value swaps at all and the code added by that commit is *obviously* wrong, assigning an le16 value with only bits set in the low-order bits to a u8... net/ieee80211/ieee80211_crypt_tkip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- wireless-dev.orig/net/ieee80211/ieee80211_crypt_tkip.c 2007-10-15 16:44:11.058510862 +0200 +++ wireless-dev/net/ieee80211/ieee80211_crypt_tkip.c 2007-10-15 16:46:34.898510862 +0200 @@ -584,7 +584,7 @@ static void michael_mic_hdr(struct sk_bu if (stype & IEEE80211_STYPE_QOS_DATA) { const struct ieee80211_hdr_3addrqos *qoshdr = (struct ieee80211_hdr_3addrqos *)skb->data; - hdr[12] = qoshdr->qos_ctl & cpu_to_le16(IEEE80211_QCTL_TID); + hdr[12] = le16_to_cpu(qoshdr->qos_ctl) & IEEE80211_QCTL_TID; } else hdr[12] = 0; /* priority */ - 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