Skip to content

Commit be898fe

Browse files
Chung-Hsien HsuKalle Valo
authored andcommitted
brcmfmac: send port authorized event for FT-802.1X
With FT-802.1X, driver should send a port authorized event right after sending a roamed event. It is used to indicate that a new AP is already authorized so 802.1X is not required. Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
1 parent 54ecb8f commit be898fe

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,6 +1647,7 @@ brcmf_set_key_mgmt(struct net_device *ndev, struct cfg80211_connect_params *sme)
16471647
u16 count;
16481648

16491649
profile->use_fwsup = BRCMF_PROFILE_FWSUP_NONE;
1650+
profile->is_ft = false;
16501651

16511652
if (!sme->crypto.n_akm_suites)
16521653
return 0;
@@ -1691,11 +1692,13 @@ brcmf_set_key_mgmt(struct net_device *ndev, struct cfg80211_connect_params *sme)
16911692
break;
16921693
case WLAN_AKM_SUITE_FT_8021X:
16931694
val = WPA2_AUTH_UNSPECIFIED | WPA2_AUTH_FT;
1695+
profile->is_ft = true;
16941696
if (sme->want_1x)
16951697
profile->use_fwsup = BRCMF_PROFILE_FWSUP_1X;
16961698
break;
16971699
case WLAN_AKM_SUITE_FT_PSK:
16981700
val = WPA2_AUTH_PSK | WPA2_AUTH_FT;
1701+
profile->is_ft = true;
16991702
break;
17001703
default:
17011704
bphy_err(drvr, "invalid cipher group (%d)\n",
@@ -5554,6 +5557,11 @@ brcmf_bss_roaming_done(struct brcmf_cfg80211_info *cfg,
55545557
cfg80211_roamed(ndev, &roam_info, GFP_KERNEL);
55555558
brcmf_dbg(CONN, "Report roaming result\n");
55565559

5560+
if (profile->use_fwsup == BRCMF_PROFILE_FWSUP_1X && profile->is_ft) {
5561+
cfg80211_port_authorized(ndev, profile->bssid, GFP_KERNEL);
5562+
brcmf_dbg(CONN, "Report port authorized\n");
5563+
}
5564+
55575565
set_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state);
55585566
brcmf_dbg(TRACE, "Exit\n");
55595567
return err;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ struct brcmf_cfg80211_profile {
122122
struct brcmf_cfg80211_security sec;
123123
struct brcmf_wsec_key key[BRCMF_MAX_DEFAULT_KEYS];
124124
enum brcmf_profile_fwsup use_fwsup;
125+
bool is_ft;
125126
};
126127

127128
/**

0 commit comments

Comments
 (0)