Search Linux Wireless

Re: [PATCH v2 1/2] mac80211: move tx_control_flag into flags2 within ieee80211_tx_info

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

 



Hi Johannes,
> 
> I'm sure some drivers use it in their status path. Have you audited them
> all?
> 
> No, you clearly haven't. carl9170 is *obviously* broken by this change,
> others may not so obvious.

You are right, carl9170 could access this flag from any context so tx_info->control.flags2 can be invalid.
Sorry for that mistake.

> 
>> 		} else if ((txinfo->flags & IEEE80211_TX_STAT_ACK) &&
>> -			   !(txinfo->flags & IEEE80211_TX_CTL_REQ_TX_STATUS)) {
>> +			   !(txinfo->control.flags2 & IEEE80211_TX_CTL2_REQ_TX_STATUS)) {
> 
> I bet you did some sort of automatic replace, but these lines look far
> too long.
> 
> Also, if you're doing hugely invasive patches like this then I think you
> should move more flags and be done with it.

Ok. I will go through all possible flags to check wether I can move them to flags2 and send a v3.

> 
>> @@ -1561,7 +1561,7 @@ void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
>> 			 u16 transaction, u16 auth_alg, u16 status,
>> 			 const u8 *extra, size_t extra_len, const u8 *bssid,
>> 			 const u8 *da, const u8 *key, u8 key_len, u8 key_idx,
>> -			 u32 tx_flags);
>> +			 u32 tx_flags, u16 tx_flags2);
> 
> This function already has far too many arguments, I'm not taking a patch
> adding yet another one.

This should be obsolete as the flag in question would break carl9170 and I will skip that one.


Greetings Thomas

--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux