Search Linux Wireless

Re: [PATCH v2] brcmsmac: restructure info->control.sta handling as it is goning to be removed soon.

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

 



Hi Arend,

This patch has the following goal. To implement Transmission Power
Control (TPC) in the mac80211 subsystem, I remove the STA pointer from
the ieee_tx_info structure to gain free mem for TPC annotation and I put
the sta  on the stack to pass it to each driver function in the tx-path.
The broadcom brcmsmac is the only driver where the ieee_tx_info is
somewhat stored and therefore the sta point is not as straight removable
as for the other drivers. This patch resolved that issue.
Please have a look at my recent patch [PATCH] mac80211: Add transmit
power control support (TPC) where I have included this one again with
the full story in the code.

Greetings Thomas

Arend van Spriel schrieb:

> On 07/06/2012 09:37 PM, John W. Linville wrote:
>> On Fri, Jun 29, 2012 at 11:04:16AM -0400, thomas wrote:
>>> Johannes Berg schrieb:
>>>
>>>> On Fri, 2012-06-29 at 05:56 -0700, Thomas Huehn wrote:
>>>>> brcmsmac uses info->control.sta while doing ampdu aggregation. This patch
>>>>> changes the usage of the structure info->control.sta, as it is going to be
>>>>> removed soon from struct ieee80211_tx_info. This patch is a pre-requisit in
>>>>> order to add transmission power control (TPC) to the mac80211 subsystem.
>>>>>
>>>>> Suggested-by: Felix Fietkau <nbd@xxxxxxxxxxx>
>>>>> Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
>>>>> ---
>>>>> Change sequence of overwriting data. Thx to Johannes.
>>>>
>>>>> @@ -665,7 +665,7 @@ brcms_c_sendampdu(struct ampdu_info *ampdu, struct brcms_txq_info *qi,
>>>>>  			u8 plcp0, plcp3, is40, sgi;
>>>>>  			struct ieee80211_sta *sta;
>>>>>  
>>>>> -			sta = tx_info->control.sta;
>>>>> +			sta = tx_info->rate_driver_data[0];
>>>> Are you sure it actually works now?
>>>
>>> From locking at the code, sta is never used after it gets overridden.
>>> The brcmsmac driver does not use the vif pointer at all. I asked Felix
>>> to double check as I do not have a Broadcom device over here.
>>>
>>> Bye Thomas
>> Any comments on this one from the Broadcom camp?
>>
> 
> Hi John,
> 
> Just applied the patch to have a closer look at the changes, but I am
> missing details on the whole story. I see tx_info->rate_driver_data[0]
> being set in the tx callback and reset to NULL in some other path which
> I believe is only called upon tid or sta removal so it does not make
> sense to me.
> 
> I have pushed the patch to our internal review server as I would like
> some co-workers to have a look. If anyone can provide any more details
> what this patch is trying to solve, please do.
> 
> Gr. AvS
> 
> --
> 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

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