|
@@ -1093,8 +1093,11 @@ static void brcmf_link_down(struct brcmf_cfg80211_vif *vif)
|
|
|
brcmf_dbg(INFO, "Call WLC_DISASSOC to stop excess roaming\n ");
|
|
|
err = brcmf_fil_cmd_data_set(vif->ifp,
|
|
|
BRCMF_C_DISASSOC, NULL, 0);
|
|
|
- if (err)
|
|
|
+ if (err) {
|
|
|
brcmf_err("WLC_DISASSOC failed (%d)\n", err);
|
|
|
+ cfg80211_disconnected(vif->wdev.netdev, 0,
|
|
|
+ NULL, 0, GFP_KERNEL);
|
|
|
+ }
|
|
|
clear_bit(BRCMF_VIF_STATUS_CONNECTED, &vif->sme_state);
|
|
|
}
|
|
|
clear_bit(BRCMF_VIF_STATUS_CONNECTING, &vif->sme_state);
|