I was wondering whether the data padding was broken in zd1211 for QoS frames. The IEEE80211_STYPE_QOS_DATA is a bit that can be used as indicator for the presence of the 2 byte QoS control field. This patch is neither tested, nor did I see any runtime breakage. It just seems to me that this is a bug anyway. Index: wireless-testing/drivers/net/wireless/zd1211rw/zd_mac.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/zd1211rw/zd_mac.c 2008-05-16 00:26:29.000000000 +0200 +++ wireless-testing/drivers/net/wireless/zd1211rw/zd_mac.c 2008-06-04 21:19:06.000000000 +0200 @@ -719,7 +719,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, c fc = le16_to_cpu(*((__le16 *) buffer)); is_qos = ((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA) && - ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_QOS_DATA); + (fc & IEEE80211_STYPE_QOS_DATA); is_4addr = (fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) == (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS); need_padding = is_qos ^ is_4addr; -- Greetings Michael. -- 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