Search Linux Wireless

Re: [PATCH 1/2] mac80211: make ieee80211_send_bar available for drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-08-10 2:02 PM, Johannes Berg wrote:
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.
I think it's not that important, so if you want to avoid adding a new API, I can also make a simple ath9k patch that reduces the number of BARs sent.

- Felix

--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux