mt76: mt7603: add upper limit for dynamic sensitivity minimum receive power
If the minimum power is raised too much, it can make it impossible for weaker clients to connect, and there are some scenarios where the false detects will not go down no matter how much the sensitivity is adjusted. Fixes connectivity issues in some rare cases Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
1a7d3f4793
commit
633348f2ca
@ -121,4 +121,6 @@ void mt7603_init_debugfs(struct mt7603_dev *dev)
|
||||
mt7603_reset_read);
|
||||
debugfs_create_devm_seqfile(dev->mt76.dev, "radio", dir,
|
||||
mt7603_radio_read);
|
||||
debugfs_create_u8("sensitivity_limit", 0600, dir,
|
||||
&dev->sensitivity_limit);
|
||||
}
|
||||
|
@ -540,6 +540,7 @@ int mt7603_register_device(struct mt7603_dev *dev)
|
||||
dev->mphy.antenna_mask = 1;
|
||||
|
||||
dev->slottime = 9;
|
||||
dev->sensitivity_limit = 28;
|
||||
|
||||
ret = mt7603_init_hardware(dev);
|
||||
if (ret)
|
||||
|
@ -1750,7 +1750,8 @@ mt7603_false_cca_check(struct mt7603_dev *dev)
|
||||
min_signal -= 15;
|
||||
|
||||
false_cca = dev->false_cca_ofdm + dev->false_cca_cck;
|
||||
if (false_cca > 600) {
|
||||
if (false_cca > 600 &&
|
||||
dev->sensitivity < -100 + dev->sensitivity_limit) {
|
||||
if (!dev->sensitivity)
|
||||
dev->sensitivity = -92;
|
||||
else
|
||||
|
@ -143,6 +143,7 @@ struct mt7603_dev {
|
||||
u8 ed_strong_signal;
|
||||
|
||||
s8 sensitivity;
|
||||
u8 sensitivity_limit;
|
||||
|
||||
u8 beacon_check;
|
||||
u8 tx_hang_check;
|
||||
|
Loading…
x
Reference in New Issue
Block a user