Search Linux Wireless

Re: [PATCH v4 1/5] wifi: cfg80211: Add Support to Set RTS Threshold for each Radio

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

 




On 2/28/2025 6:32 PM, Johannes Berg wrote:
> On Wed, 2025-01-29 at 21:22 +0530, Roopni Devanathan wrote:
>>
>> +			result = rdev_set_wiphy_params(rdev, radio_id, changed);
>> +			if (result) {
>> +				rdev->wiphy.retry_short = old_retry_short;
>> +				rdev->wiphy.retry_long = old_retry_long;
>> +				rdev->wiphy.frag_threshold = old_frag_threshold;
>> +				rdev->wiphy.rts_threshold = old_rts_threshold;
>> +				rdev->wiphy.coverage_class = old_coverage_class;
>> +				rdev->wiphy.txq_limit = old_txq_limit;
>> +				rdev->wiphy.txq_memory_limit = old_txq_memory_limit;
>> +				rdev->wiphy.txq_quantum = old_txq_quantum;
>> +				return result;
>> +			}
>> +
>> +			for (i = 0 ; i < rdev->wiphy.n_radio; i++) {
>> +				rdev->wiphy.radio_cfg[i].rts_threshold =
>> +					rdev->wiphy.rts_threshold;
>> +			}
>>
> 
> The order here also seems really odd? That basically means the driver
> now needs to propagate it to all the radios, but you still have
> different per-radio values at that point, that seems bad. You also
> didn't even document any such assumptions.

The idea is to maintain different variables for global RTS threshold and
per-radio RTS threshold. Each time RTS threshold of a radio is getting
changed, we are trying to update the RTS threshold for that radio alone. If
global RTS threshold(rdev->wiphy.rts_threshold) is updated, we are trying to
change the RTS threshold of all radios. This is the reason we are assigning
same value - rts_threshold, to all radios.

I'll document this assumption to make it clear, thanks for pointing out.

> 
> johannes




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux