From: Michael Reeves <[email protected]>

BCM4388 firmware rejects the default join preference containing a 5 GHz
RSSI boost with -EBADE, but accepts an RSSI-only preference.

Retry with RSSI-only selection only after -EBADE. Log other errors
without retrying.

Signed-off-by: Michael Reeves <[email protected]>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c 
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
index b6027d83e6..2a37b42ca9 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -95,6 +95,10 @@ void brcmf_c_set_joinpref_default(struct brcmf_if *ifp)
        join_pref_params[1].band = 0;
        err = brcmf_fil_iovar_data_set(ifp, "join_pref", join_pref_params,
                                       sizeof(join_pref_params));
+       if (err == -EBADE)
+               err = brcmf_fil_iovar_data_set(ifp, "join_pref",
+                                              &join_pref_params[1],
+                                              sizeof(join_pref_params[1]));
        if (err)
                bphy_err(drvr, "Set join_pref error (%d)\n", err);
 }

-- 
2.55.0



Reply via email to