wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Wed, 27 Oct 2021 23:25:29 +0000 (00:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:05 +0000 (11:03 +0100)
[ Upstream commit 588b45c88ae130fe373a8c50edaf54735c3f4fe3 ]

Firmware can trigger a missed beacon indication, this is not the same as a
lost signal.

Flag to Linux the missed beacon and let the WiFi stack decide for itself if
the link is up or down by sending its own probe to determine this.

We should only be signalling the link is lost when the firmware indicates

Fixes: 8e84c2582169 ("wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware")
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20211027232529.657764-1-bryan.odonoghue@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/wcn36xx/smd.c

index 6ac770d8271eb2b3215c5e87a4204ce9c9b71481..0ebef42feb695f0e4ce28fedf99b6dd621b48d34 100644 (file)
@@ -2679,7 +2679,7 @@ static int wcn36xx_smd_missed_beacon_ind(struct wcn36xx *wcn,
                        wcn36xx_dbg(WCN36XX_DBG_HAL, "beacon missed bss_index %d\n",
                                    tmp->bss_index);
                        vif = wcn36xx_priv_to_vif(tmp);
-                       ieee80211_connection_loss(vif);
+                       ieee80211_beacon_loss(vif);
                }
                return 0;
        }
@@ -2694,7 +2694,7 @@ static int wcn36xx_smd_missed_beacon_ind(struct wcn36xx *wcn,
                        wcn36xx_dbg(WCN36XX_DBG_HAL, "beacon missed bss_index %d\n",
                                    rsp->bss_index);
                        vif = wcn36xx_priv_to_vif(tmp);
-                       ieee80211_connection_loss(vif);
+                       ieee80211_beacon_loss(vif);
                        return 0;
                }
        }