wifi: mt76: mt7921: fix invalid remain_on_channel duration
authorDeren Wu <deren.wu@mediatek.com>
Sat, 31 Dec 2022 09:01:10 +0000 (17:01 +0800)
committerFelix Fietkau <nbd@nbd.name>
Fri, 3 Feb 2023 13:47:16 +0000 (14:47 +0100)
round_jiffies_up() may change the duration reported from chip. We should
take the real timeout for current channel privilege.

Fixes: 034ae28b56f1 ("wifi: mt76: mt7921: introduce remain_on_channel support")
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c

index c4ca690..1e1f34a 100644 (file)
@@ -174,7 +174,7 @@ mt7921_mcu_uni_roc_event(struct mt7921_dev *dev, struct sk_buff *skb)
        wake_up(&dev->phy.roc_wait);
        duration = le32_to_cpu(grant->max_interval);
        mod_timer(&dev->phy.roc_timer,
-                 round_jiffies_up(jiffies + msecs_to_jiffies(duration)));
+                 jiffies + msecs_to_jiffies(duration));
 }
 
 static void