On Fri, 2011-11-04 at 15:49 +0100, Janusz Dziedzic wrote: > Hello, > > Seems we don't set MORE_DATA bit correctly in > ieee80211_sta_ps_deliver_response() fuction. > In case we have more than one frame in struct sk_buff_head frames we > don't set MORE_DATA bit. > > Proposed fix: > diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c > index ce962d2..8eaa746 100644 > --- a/net/mac80211/sta_info.c > +++ b/net/mac80211/sta_info.c > @@ -1354,12 +1354,12 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta, > * Use MoreData flag to indicate whether there are > * more buffered frames for this STA > */ > - if (!more_data) > - hdr->frame_control &= > - cpu_to_le16(~IEEE80211_FCTL_MOREDATA); > - else > + if (more_data || !skb_queue_empty(&frames)) > hdr->frame_control |= > cpu_to_le16(IEEE80211_FCTL_MOREDATA); > + else > + hdr->frame_control &= > + cpu_to_le16(~IEEE80211_FCTL_MOREDATA); > > if (ieee80211_is_data_qos(hdr->frame_control) || > ieee80211_is_qos_nullfunc(hdr->frame_control)) > Yeah that seems reasonable. Please submit a proper patch :-) 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