On Wed, 2011-08-10 at 13:45 -0600, Felix Fietkau wrote: > To properly maintain the peer's block ack window, the driver needs to be > able to control the new starting sequence number that is sent along with > the BlockAckReq frame. I guess with the ath9k patch I understand ... I believe iwlwifi processes all of the TX status and only sets the BAR flag on the last one? > +/** > + * ieee80211_send_bar - send a BlockAckReq frame > + * > + * can be used to flush pending frames from the peer's aggregation reorder > + * buffer. > + * > + * @vif: &struct ieee80211_vif pointer from the add_interface callback. > + * @ra: the peer's destination address > + * @tid: the TID of the aggregation session > + * @ssn: the new starting sequence number for the receiver > + */ > +void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn); You might want to note the locking rules, it's a little strange here since it calls right back into the driver's tx(). Though of course the same also happens with tx_status(), it might be less expected here, especially if you use tx_status_irqsafe() and this doesn't yet have an irqsafe version. 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