Search Linux Wireless

Re: [PATCH] mac80211: request TX status where needed

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

 



On 11/19/09 23:09, Gertjan van Wingerde wrote:
> On 11/19/09 01:08, Johannes Berg wrote:
>> Right now all frames mac80211 hands to the driver
>> have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to
>> request TX status. This isn't really necessary, only
>> the injected frames need TX status (the latter for
>> hostapd) so move setting this flag.
>>
>> The rate control algorithms also need TX status, but
>> they don't require it.
>>
>> Also, rt2x00 uses that bit for its own purposes and
>> seems to require it being set for all frames, but
>> that can be fixed in rt2x00.
>>
>> This doesn't really change anything for any drivers
>> but in the future drivers using hw-rate control may
>> opt to not report TX status for frames that don't
>> have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set.
>>
>> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
>> Acked-by: Ivo van Doorn <IvDoorn@xxxxxxxxx> [rt2x00 bits]
>> ---
> 
>> @@ -287,12 +288,12 @@ void rt2x00lib_txdone(struct queue_entry
>>  	}
>>  
>>  	/*
>> -	 * Only send the status report to mac80211 when TX status was
>> -	 * requested by it. If this was a extra frame coming through
>> -	 * a mac80211 library call (RTS/CTS) then we should not send the
>> -	 * status report back.
>> +	 * Only send the status report to mac80211 when it's a frame
>> +	 * that originated in mac80211. If this was a extra frame coming
>> +	 * through a mac80211 library call (RTS/CTS) then we should not
>> +	 * send the status report back.
>>  	 */
>> -	if (tx_info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS)
>> +	if (!(skbdesc_flags & SKBDESC_NOT_MAC80211))
>>  		ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb);
>>  	else
>>  		dev_kfree_skb_irq(entry->skb);
> 
> I'm slightly confused here. Shouldn't both the tx_info->flags and skbdesc_flags be checked here?
> Now we run in the situation where tx_status is report even if mac80211 didn't ask for it.
> 

Never mind. I missed the change from "requested" to "required" for the IEEE80211_TX_CTL_REQ_TX_STATUS flag.

Everything is alright.

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