Commit 4b5800fe authored by Johannes Berg's avatar Johannes Berg

cfg80211: make connect ie param const

This required liberally sprinkling 'const' over brcmfmac
and mwifiex but seems like a useful thing to do since the
pointer can't really be written.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 664834de
...@@ -124,7 +124,8 @@ brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data) ...@@ -124,7 +124,8 @@ brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data)
} }
static u32 static u32
brcmf_create_iovar(char *name, char *data, u32 datalen, char *buf, u32 buflen) brcmf_create_iovar(char *name, const char *data, u32 datalen,
char *buf, u32 buflen)
{ {
u32 len; u32 len;
...@@ -144,7 +145,7 @@ brcmf_create_iovar(char *name, char *data, u32 datalen, char *buf, u32 buflen) ...@@ -144,7 +145,7 @@ brcmf_create_iovar(char *name, char *data, u32 datalen, char *buf, u32 buflen)
s32 s32
brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, void *data, brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, const void *data,
u32 len) u32 len)
{ {
struct brcmf_pub *drvr = ifp->drvr; struct brcmf_pub *drvr = ifp->drvr;
......
...@@ -83,7 +83,7 @@ s32 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len); ...@@ -83,7 +83,7 @@ s32 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data); s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data);
s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data); s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data);
s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, void *data, s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, const void *data,
u32 len); u32 len);
s32 brcmf_fil_iovar_data_get(struct brcmf_if *ifp, char *name, void *data, s32 brcmf_fil_iovar_data_get(struct brcmf_if *ifp, char *name, void *data,
u32 len); u32 len);
......
...@@ -351,13 +351,11 @@ u16 channel_to_chanspec(struct brcmu_d11inf *d11inf, ...@@ -351,13 +351,11 @@ u16 channel_to_chanspec(struct brcmu_d11inf *d11inf,
* triples, returning a pointer to the substring whose first element * triples, returning a pointer to the substring whose first element
* matches tag * matches tag
*/ */
struct brcmf_tlv *brcmf_parse_tlvs(void *buf, int buflen, uint key) const struct brcmf_tlv *
brcmf_parse_tlvs(const void *buf, int buflen, uint key)
{ {
struct brcmf_tlv *elt; const struct brcmf_tlv *elt = buf;
int totlen; int totlen = buflen;
elt = (struct brcmf_tlv *)buf;
totlen = buflen;
/* find tagged parameter */ /* find tagged parameter */
while (totlen >= TLV_HDR_LEN) { while (totlen >= TLV_HDR_LEN) {
...@@ -378,8 +376,8 @@ struct brcmf_tlv *brcmf_parse_tlvs(void *buf, int buflen, uint key) ...@@ -378,8 +376,8 @@ struct brcmf_tlv *brcmf_parse_tlvs(void *buf, int buflen, uint key)
* not update the tlvs buffer pointer/length. * not update the tlvs buffer pointer/length.
*/ */
static bool static bool
brcmf_tlv_has_ie(u8 *ie, u8 **tlvs, u32 *tlvs_len, brcmf_tlv_has_ie(const u8 *ie, const u8 **tlvs, u32 *tlvs_len,
u8 *oui, u32 oui_len, u8 type) const u8 *oui, u32 oui_len, u8 type)
{ {
/* If the contents match the OUI and the type */ /* If the contents match the OUI and the type */
if (ie[TLV_LEN_OFF] >= oui_len + 1 && if (ie[TLV_LEN_OFF] >= oui_len + 1 &&
...@@ -401,12 +399,12 @@ brcmf_tlv_has_ie(u8 *ie, u8 **tlvs, u32 *tlvs_len, ...@@ -401,12 +399,12 @@ brcmf_tlv_has_ie(u8 *ie, u8 **tlvs, u32 *tlvs_len,
} }
static struct brcmf_vs_tlv * static struct brcmf_vs_tlv *
brcmf_find_wpaie(u8 *parse, u32 len) brcmf_find_wpaie(const u8 *parse, u32 len)
{ {
struct brcmf_tlv *ie; const struct brcmf_tlv *ie;
while ((ie = brcmf_parse_tlvs(parse, len, WLAN_EID_VENDOR_SPECIFIC))) { while ((ie = brcmf_parse_tlvs(parse, len, WLAN_EID_VENDOR_SPECIFIC))) {
if (brcmf_tlv_has_ie((u8 *)ie, &parse, &len, if (brcmf_tlv_has_ie((const u8 *)ie, &parse, &len,
WPA_OUI, TLV_OUI_LEN, WPA_OUI_TYPE)) WPA_OUI, TLV_OUI_LEN, WPA_OUI_TYPE))
return (struct brcmf_vs_tlv *)ie; return (struct brcmf_vs_tlv *)ie;
} }
...@@ -414,9 +412,9 @@ brcmf_find_wpaie(u8 *parse, u32 len) ...@@ -414,9 +412,9 @@ brcmf_find_wpaie(u8 *parse, u32 len)
} }
static struct brcmf_vs_tlv * static struct brcmf_vs_tlv *
brcmf_find_wpsie(u8 *parse, u32 len) brcmf_find_wpsie(const u8 *parse, u32 len)
{ {
struct brcmf_tlv *ie; const struct brcmf_tlv *ie;
while ((ie = brcmf_parse_tlvs(parse, len, WLAN_EID_VENDOR_SPECIFIC))) { while ((ie = brcmf_parse_tlvs(parse, len, WLAN_EID_VENDOR_SPECIFIC))) {
if (brcmf_tlv_has_ie((u8 *)ie, &parse, &len, if (brcmf_tlv_has_ie((u8 *)ie, &parse, &len,
...@@ -1562,9 +1560,9 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, ...@@ -1562,9 +1560,9 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev,
struct ieee80211_channel *chan = sme->channel; struct ieee80211_channel *chan = sme->channel;
struct brcmf_join_params join_params; struct brcmf_join_params join_params;
size_t join_params_size; size_t join_params_size;
struct brcmf_tlv *rsn_ie; const struct brcmf_tlv *rsn_ie;
struct brcmf_vs_tlv *wpa_ie; const struct brcmf_vs_tlv *wpa_ie;
void *ie; const void *ie;
u32 ie_len; u32 ie_len;
struct brcmf_ext_join_params_le *ext_join_params; struct brcmf_ext_join_params_le *ext_join_params;
u16 chanspec; u16 chanspec;
...@@ -1591,7 +1589,8 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, ...@@ -1591,7 +1589,8 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev,
ie_len = wpa_ie->len + TLV_HDR_LEN; ie_len = wpa_ie->len + TLV_HDR_LEN;
} else { } else {
/* find the RSN_IE */ /* find the RSN_IE */
rsn_ie = brcmf_parse_tlvs((u8 *)sme->ie, sme->ie_len, rsn_ie = brcmf_parse_tlvs((const u8 *)sme->ie,
sme->ie_len,
WLAN_EID_RSN); WLAN_EID_RSN);
if (rsn_ie) { if (rsn_ie) {
ie = rsn_ie; ie = rsn_ie;
...@@ -2455,7 +2454,7 @@ static s32 brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg, ...@@ -2455,7 +2454,7 @@ static s32 brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg,
struct brcmf_cfg80211_profile *profile = ndev_to_prof(ifp->ndev); struct brcmf_cfg80211_profile *profile = ndev_to_prof(ifp->ndev);
struct brcmf_bss_info_le *bi; struct brcmf_bss_info_le *bi;
struct brcmf_ssid *ssid; struct brcmf_ssid *ssid;
struct brcmf_tlv *tim; const struct brcmf_tlv *tim;
u16 beacon_interval; u16 beacon_interval;
u8 dtim_period; u8 dtim_period;
size_t ie_len; size_t ie_len;
...@@ -3220,8 +3219,9 @@ static bool brcmf_valid_wpa_oui(u8 *oui, bool is_rsn_ie) ...@@ -3220,8 +3219,9 @@ static bool brcmf_valid_wpa_oui(u8 *oui, bool is_rsn_ie)
} }
static s32 static s32
brcmf_configure_wpaie(struct net_device *ndev, struct brcmf_vs_tlv *wpa_ie, brcmf_configure_wpaie(struct net_device *ndev,
bool is_rsn_ie) const struct brcmf_vs_tlv *wpa_ie,
bool is_rsn_ie)
{ {
struct brcmf_if *ifp = netdev_priv(ndev); struct brcmf_if *ifp = netdev_priv(ndev);
u32 auth = 0; /* d11 open authentication */ u32 auth = 0; /* d11 open authentication */
...@@ -3707,11 +3707,11 @@ brcmf_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *ndev, ...@@ -3707,11 +3707,11 @@ brcmf_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *ndev,
s32 ie_offset; s32 ie_offset;
struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
struct brcmf_if *ifp = netdev_priv(ndev); struct brcmf_if *ifp = netdev_priv(ndev);
struct brcmf_tlv *ssid_ie; const struct brcmf_tlv *ssid_ie;
struct brcmf_ssid_le ssid_le; struct brcmf_ssid_le ssid_le;
s32 err = -EPERM; s32 err = -EPERM;
struct brcmf_tlv *rsn_ie; const struct brcmf_tlv *rsn_ie;
struct brcmf_vs_tlv *wpa_ie; const struct brcmf_vs_tlv *wpa_ie;
struct brcmf_join_params join_params; struct brcmf_join_params join_params;
enum nl80211_iftype dev_role; enum nl80211_iftype dev_role;
struct brcmf_fil_bss_enable_le bss_enable; struct brcmf_fil_bss_enable_le bss_enable;
......
...@@ -491,7 +491,8 @@ void brcmf_free_vif(struct brcmf_cfg80211_vif *vif); ...@@ -491,7 +491,8 @@ void brcmf_free_vif(struct brcmf_cfg80211_vif *vif);
s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag, s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag,
const u8 *vndr_ie_buf, u32 vndr_ie_len); const u8 *vndr_ie_buf, u32 vndr_ie_len);
s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif); s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif);
struct brcmf_tlv *brcmf_parse_tlvs(void *buf, int buflen, uint key); const struct brcmf_tlv *
brcmf_parse_tlvs(const void *buf, int buflen, uint key);
u16 channel_to_chanspec(struct brcmu_d11inf *d11inf, u16 channel_to_chanspec(struct brcmu_d11inf *d11inf,
struct ieee80211_channel *ch); struct ieee80211_channel *ch);
u32 wl_get_vif_state_all(struct brcmf_cfg80211_info *cfg, unsigned long state); u32 wl_get_vif_state_all(struct brcmf_cfg80211_info *cfg, unsigned long state);
......
...@@ -1078,7 +1078,7 @@ int mwifiex_set_encode(struct mwifiex_private *priv, struct key_params *kp, ...@@ -1078,7 +1078,7 @@ int mwifiex_set_encode(struct mwifiex_private *priv, struct key_params *kp,
const u8 *key, int key_len, u8 key_index, const u8 *key, int key_len, u8 key_index,
const u8 *mac_addr, int disable); const u8 *mac_addr, int disable);
int mwifiex_set_gen_ie(struct mwifiex_private *priv, u8 *ie, int ie_len); int mwifiex_set_gen_ie(struct mwifiex_private *priv, const u8 *ie, int ie_len);
int mwifiex_get_ver_ext(struct mwifiex_private *priv); int mwifiex_get_ver_ext(struct mwifiex_private *priv);
......
...@@ -1391,7 +1391,7 @@ static int mwifiex_misc_ioctl_gen_ie(struct mwifiex_private *priv, ...@@ -1391,7 +1391,7 @@ static int mwifiex_misc_ioctl_gen_ie(struct mwifiex_private *priv,
* with requisite parameters and calls the IOCTL handler. * with requisite parameters and calls the IOCTL handler.
*/ */
int int
mwifiex_set_gen_ie(struct mwifiex_private *priv, u8 *ie, int ie_len) mwifiex_set_gen_ie(struct mwifiex_private *priv, const u8 *ie, int ie_len)
{ {
struct mwifiex_ds_misc_gen_ie gen_ie; struct mwifiex_ds_misc_gen_ie gen_ie;
......
...@@ -1737,7 +1737,7 @@ struct cfg80211_connect_params { ...@@ -1737,7 +1737,7 @@ struct cfg80211_connect_params {
const u8 *ssid; const u8 *ssid;
size_t ssid_len; size_t ssid_len;
enum nl80211_auth_type auth_type; enum nl80211_auth_type auth_type;
u8 *ie; const u8 *ie;
size_t ie_len; size_t ie_len;
bool privacy; bool privacy;
enum nl80211_mfp mfp; enum nl80211_mfp mfp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment