brcmfmac: do not disconnect for disassoc frame from unconnected AP
Ignore FW event if the event's BSSID is different form the BSSID of the currently connected AP. Check interface state is connected or not, if state is not connected that can ignore link down event. Signed-off-by: Able Liao <Able.Liao@cypress.com> Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20200618160739.21457-4-chi-hsien.lin@cypress.com
This commit is contained in:
parent
1b050d9711
commit
0d9de08da5
|
@ -6027,7 +6027,12 @@ brcmf_notify_connect_status(struct brcmf_if *ifp,
|
|||
brcmf_net_setcarrier(ifp, true);
|
||||
} else if (brcmf_is_linkdown(e)) {
|
||||
brcmf_dbg(CONN, "Linkdown\n");
|
||||
if (!brcmf_is_ibssmode(ifp->vif)) {
|
||||
if (!brcmf_is_ibssmode(ifp->vif) &&
|
||||
test_bit(BRCMF_VIF_STATUS_CONNECTED,
|
||||
&ifp->vif->sme_state)) {
|
||||
if (memcmp(profile->bssid, e->addr, ETH_ALEN))
|
||||
return err;
|
||||
|
||||
brcmf_bss_connect_done(cfg, ndev, e, false);
|
||||
brcmf_link_down(ifp->vif,
|
||||
brcmf_map_fw_linkdown_reason(e),
|
||||
|
|
Loading…
Reference in New Issue