When updating the duration field for TX frames, skip the update for PS-Poll frames that use this field for other purposes (AID). Signed-off-by: Jouni Malinen <jouni.malinen@xxxxxxxxxxx> --- net/mac80211/tx.c | 2 ++ 1 file changed, 2 insertions(+) v2: add unlikely() and change continue to break to avoid unnecessary check for a fragment of PS-Poll frame --- wireless-testing.orig/net/mac80211/tx.c 2009-05-14 21:03:49.000000000 +0300 +++ wireless-testing/net/mac80211/tx.c 2009-05-19 19:20:57.000000000 +0300 @@ -872,6 +872,8 @@ ieee80211_tx_h_calculate_duration(struct do { hdr = (void *) skb->data; + if (unlikely(ieee80211_is_pspoll(hdr->frame_control))) + break; /* must not overwrite AID */ next_len = skb->next ? skb->next->len : 0; group_addr = is_multicast_ether_addr(hdr->addr1); -- Jouni Malinen PGP id EFC895FA -- 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