Commit ab9a1ed2 authored by Felix Fietkau's avatar Felix Fietkau

mt76: mt7615: never use an 802.11b CF-End rate on 5GHz

Sometimes mt7615_mac_set_timing gets called while the slot time is still
configured to 20. Ensure that in this case it always uses the OFDM CFend
rate.
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 61cb6075
...@@ -117,8 +117,9 @@ void mt7615_mac_set_timing(struct mt7615_phy *phy) ...@@ -117,8 +117,9 @@ void mt7615_mac_set_timing(struct mt7615_phy *phy)
u32 ofdm = FIELD_PREP(MT_TIMEOUT_VAL_PLCP, 60) | u32 ofdm = FIELD_PREP(MT_TIMEOUT_VAL_PLCP, 60) |
FIELD_PREP(MT_TIMEOUT_VAL_CCA, 24); FIELD_PREP(MT_TIMEOUT_VAL_CCA, 24);
int sifs, offset; int sifs, offset;
bool is_5ghz = phy->mt76->chandef.chan->band == NL80211_BAND_5GHZ;
if (phy->mt76->chandef.chan->band == NL80211_BAND_5GHZ) if (is_5ghz)
sifs = 16; sifs = 16;
else else
sifs = 10; sifs = 10;
...@@ -151,7 +152,7 @@ void mt7615_mac_set_timing(struct mt7615_phy *phy) ...@@ -151,7 +152,7 @@ void mt7615_mac_set_timing(struct mt7615_phy *phy)
FIELD_PREP(MT_IFS_SIFS, sifs) | FIELD_PREP(MT_IFS_SIFS, sifs) |
FIELD_PREP(MT_IFS_SLOT, phy->slottime)); FIELD_PREP(MT_IFS_SLOT, phy->slottime));
if (phy->slottime < 20) if (phy->slottime < 20 || is_5ghz)
val = MT7615_CFEND_RATE_DEFAULT; val = MT7615_CFEND_RATE_DEFAULT;
else else
val = MT7615_CFEND_RATE_11B; val = MT7615_CFEND_RATE_11B;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment