brcmfmac: switch to using cfg80211_connect_done()
authorArend van Spriel <arend.vanspriel@broadcom.com>
Fri, 9 Jun 2017 12:08:49 +0000 (13:08 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 30 Jun 2017 06:38:22 +0000 (09:38 +0300)
The driver used cfg80211_connect_result() which is basically a wrapper
around cfg80211_connect_done() passing a subset of the information that
can be passed. For upcoming functionality this is not sufficient so
switching to use cfg80211_connect_done().

Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 0287db38fb9f4004e96b6dc35611a9307c4b011f..dcde596c9eb9c3fa875c2675318f0298e118549a 100644 (file)
@@ -5556,26 +5556,28 @@ brcmf_bss_connect_done(struct brcmf_cfg80211_info *cfg,
        struct brcmf_if *ifp = netdev_priv(ndev);
        struct brcmf_cfg80211_profile *profile = &ifp->vif->profile;
        struct brcmf_cfg80211_connect_info *conn_info = cfg_to_conn(cfg);
+       struct cfg80211_connect_resp_params conn_params;
 
        brcmf_dbg(TRACE, "Enter\n");
 
        if (test_and_clear_bit(BRCMF_VIF_STATUS_CONNECTING,
                               &ifp->vif->sme_state)) {
+               memset(&conn_params, 0, sizeof(conn_params));
                if (completed) {
                        brcmf_get_assoc_ies(cfg, ifp);
                        brcmf_update_bss_info(cfg, ifp);
                        set_bit(BRCMF_VIF_STATUS_CONNECTED,
                                &ifp->vif->sme_state);
+                       conn_params.status = WLAN_STATUS_SUCCESS;
+               } else {
+                       conn_params.status = WLAN_STATUS_AUTH_TIMEOUT;
                }
-               cfg80211_connect_result(ndev,
-                                       (u8 *)profile->bssid,
-                                       conn_info->req_ie,
-                                       conn_info->req_ie_len,
-                                       conn_info->resp_ie,
-                                       conn_info->resp_ie_len,
-                                       completed ? WLAN_STATUS_SUCCESS :
-                                                   WLAN_STATUS_AUTH_TIMEOUT,
-                                       GFP_KERNEL);
+               conn_params.bssid = profile->bssid;
+               conn_params.req_ie = conn_info->req_ie;
+               conn_params.req_ie_len = conn_info->req_ie_len;
+               conn_params.resp_ie = conn_info->resp_ie;
+               conn_params.resp_ie_len = conn_info->resp_ie_len;
+               cfg80211_connect_done(ndev, &conn_params, GFP_KERNEL);
                brcmf_dbg(CONN, "Report connect result - connection %s\n",
                          completed ? "succeeded" : "failed");
        }