diff mbox series

[5.9] mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations

Message ID 20200812102332.11812-1-nbd@nbd.name (mailing list archive)
State Accepted
Commit d1c9da9e4c938e8bbf8b0ef9e5772b97db5639e9
Delegated to: Kalle Valo
Headers show
Series [5.9] mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations | expand

Commit Message

Felix Fietkau Aug. 12, 2020, 10:23 a.m. UTC
The implementation of embedding WTBL update inside the STA_REC update is buggy
on the MT7615 v2 firmware. This leads to connection issues after a station has
connected and disconnected again.

Switch to the v1 MCU API ops, since they have received much more testing and
should be more stable.

On MT7622 and later, the v2 API is more actively used, so we should keep using
it as well.

Fixes: 6849e29ed92e ("mt76: mt7615: add starec operating flow for firmware v2")
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Kalle Valo Aug. 27, 2020, 1:12 p.m. UTC | #1
Felix Fietkau <nbd@nbd.name> wrote:

> The implementation of embedding WTBL update inside the STA_REC update is buggy
> on the MT7615 v2 firmware. This leads to connection issues after a station has
> connected and disconnected again.
> 
> Switch to the v1 MCU API ops, since they have received much more testing and
> should be more stable.
> 
> On MT7622 and later, the v2 API is more actively used, so we should keep using
> it as well.
> 
> Fixes: 6849e29ed92e ("mt76: mt7615: add starec operating flow for firmware v2")
> Cc: stable@vger.kernel.org
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

Patch applied to wireless-drivers.git, thanks.

d1c9da9e4c93 mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
index 6e869b8c5e26..59deca44d977 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
@@ -2007,7 +2007,8 @@  static int mt7615_load_n9(struct mt7615_dev *dev, const char *name)
 		 sizeof(dev->mt76.hw->wiphy->fw_version),
 		 "%.10s-%.15s", hdr->fw_ver, hdr->build_date);
 
-	if (!strncmp(hdr->fw_ver, "2.0", sizeof(hdr->fw_ver))) {
+	if (!is_mt7615(&dev->mt76) &&
+	    !strncmp(hdr->fw_ver, "2.0", sizeof(hdr->fw_ver))) {
 		dev->fw_ver = MT7615_FIRMWARE_V2;
 		dev->mcu_ops = &sta_update_ops;
 	} else {