Search Linux Wireless

Re: [PATCH] libertas: change IW_ESSID_MAX_SIZE -> IEEE80211_MAX_SSID_LEN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2009-10-19 at 10:23 +0200, Holger Schurig wrote:
> Signed-off-by: Holger Schurig <hs4233@xxxxxxxxxxxxxxxxxxxx>

Acked-by: Dan Williams <dcbw@xxxxxxxxxx>

> --- linux-wl.orig/drivers/net/wireless/libertas/assoc.c
> +++ linux-wl/drivers/net/wireless/libertas/assoc.c
> @@ -226,7 +226,7 @@
>  	priv->connect_status = LBS_CONNECTED;
>  
>  	/* Update current SSID and BSSID */
> -	memcpy(&priv->curbssparams.ssid, &bss->ssid, IW_ESSID_MAX_SIZE);
> +	memcpy(&priv->curbssparams.ssid, &bss->ssid, IEEE80211_MAX_SSID_LEN);
>  	priv->curbssparams.ssid_len = bss->ssid_len;
>  	memcpy(priv->curbssparams.bssid, bss->bssid, ETH_ALEN);
>  
> @@ -467,7 +467,7 @@
>  	memcpy(&priv->curbssparams.bssid, bss->bssid, ETH_ALEN);
>  
>  	/* Set the new SSID to current SSID */
> -	memcpy(&priv->curbssparams.ssid, &bss->ssid, IW_ESSID_MAX_SIZE);
> +	memcpy(&priv->curbssparams.ssid, &bss->ssid, IEEE80211_MAX_SSID_LEN);
>  	priv->curbssparams.ssid_len = bss->ssid_len;
>  
>  	netif_carrier_on(priv->dev);
> @@ -1083,7 +1083,7 @@
>  			/* else send START command */
>  			lbs_deb_assoc("SSID not found, creating adhoc network\n");
>  			memcpy(&assoc_req->bss.ssid, &assoc_req->ssid,
> -				IW_ESSID_MAX_SIZE);
> +				IEEE80211_MAX_SSID_LEN);
>  			assoc_req->bss.ssid_len = assoc_req->ssid_len;
>  			lbs_adhoc_start(priv, assoc_req);
>  		}
> @@ -1541,7 +1541,7 @@
>  
>  	found = lbs_find_best_ssid_in_list(priv, preferred_mode);
>  	if (found && (found->ssid_len > 0)) {
> -		memcpy(out_ssid, &found->ssid, IW_ESSID_MAX_SIZE);
> +		memcpy(out_ssid, &found->ssid, IEEE80211_MAX_SSID_LEN);
>  		*out_ssid_len = found->ssid_len;
>  		*out_mode = found->mode;
>  		ret = 0;
> @@ -1759,7 +1759,7 @@
>  	assoc_req = priv->pending_assoc_req;
>  	if (!test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)) {
>  		memcpy(&assoc_req->ssid, &priv->curbssparams.ssid,
> -		       IW_ESSID_MAX_SIZE);
> +		       IEEE80211_MAX_SSID_LEN);
>  		assoc_req->ssid_len = priv->curbssparams.ssid_len;
>  	}
>  
> --- linux-wl.orig/drivers/net/wireless/libertas/cmd.c
> +++ linux-wl/drivers/net/wireless/libertas/cmd.c
> @@ -1168,7 +1168,7 @@
>  		ie->val.mesh_id_len = priv->mesh_ssid_len;
>  		memcpy(ie->val.mesh_id, priv->mesh_ssid, priv->mesh_ssid_len);
>  		ie->len = sizeof(struct mrvl_meshie_val) -
> -			IW_ESSID_MAX_SIZE + priv->mesh_ssid_len;
> +			IEEE80211_MAX_SSID_LEN + priv->mesh_ssid_len;
>  		cmd.length = cpu_to_le16(sizeof(struct mrvl_meshie_val));
>  		break;
>  	case CMD_ACT_MESH_CONFIG_STOP:
> --- linux-wl.orig/drivers/net/wireless/libertas/cmdresp.c
> +++ linux-wl/drivers/net/wireless/libertas/cmdresp.c
> @@ -68,7 +68,7 @@
>  	 * no longer valid.
>  	 */
>  	memset(&priv->curbssparams.bssid, 0, ETH_ALEN);
> -	memset(&priv->curbssparams.ssid, 0, IW_ESSID_MAX_SIZE);
> +	memset(&priv->curbssparams.ssid, 0, IEEE80211_MAX_SSID_LEN);
>  	priv->curbssparams.ssid_len = 0;
>  
>  	if (priv->psstate != PS_STATE_FULL_POWER) {
> --- linux-wl.orig/drivers/net/wireless/libertas/dev.h
> +++ linux-wl/drivers/net/wireless/libertas/dev.h
> @@ -65,7 +65,7 @@
>  	/** bssid */
>  	u8 bssid[ETH_ALEN];
>  	/** ssid */
> -	u8 ssid[IW_ESSID_MAX_SIZE + 1];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN + 1];
>  	u8 ssid_len;
>  
>  	/** band */
> @@ -163,7 +163,7 @@
>  	struct work_struct sync_channel;
>  	/* remember which channel was scanned last, != 0 if currently scanning */
>  	int scan_channel;
> -	u8 scan_ssid[IW_ESSID_MAX_SIZE + 1];
> +	u8 scan_ssid[IEEE80211_MAX_SSID_LEN + 1];
>  	u8 scan_ssid_len;
>  
>  	/** Hardware access */
> @@ -230,7 +230,7 @@
>  	struct current_bss_params curbssparams;
>  
>  	uint16_t mesh_tlv;
> -	u8 mesh_ssid[IW_ESSID_MAX_SIZE + 1];
> +	u8 mesh_ssid[IEEE80211_MAX_SSID_LEN + 1];
>  	u8 mesh_ssid_len;
>  
>  	/* IW_MODE_* */
> @@ -340,7 +340,7 @@
>  struct bss_descriptor {
>  	u8 bssid[ETH_ALEN];
>  
> -	u8 ssid[IW_ESSID_MAX_SIZE + 1];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN + 1];
>  	u8 ssid_len;
>  
>  	u16 capability;
> @@ -389,7 +389,7 @@
>  #define ASSOC_FLAG_WPA_IE		11
>  	unsigned long flags;
>  
> -	u8 ssid[IW_ESSID_MAX_SIZE + 1];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN + 1];
>  	u8 ssid_len;
>  	u8 channel;
>  	u8 band;
> --- linux-wl.orig/drivers/net/wireless/libertas/host.h
> +++ linux-wl/drivers/net/wireless/libertas/host.h
> @@ -719,7 +719,7 @@
>  struct cmd_ds_802_11_ad_hoc_start {
>  	struct cmd_header hdr;
>  
> -	u8 ssid[IW_ESSID_MAX_SIZE];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN];
>  	u8 bsstype;
>  	__le16 beaconperiod;
>  	u8 dtimperiod;   /* Reserved on v9 and later */
> @@ -742,7 +742,7 @@
>  
>  struct adhoc_bssdesc {
>  	u8 bssid[ETH_ALEN];
> -	u8 ssid[IW_ESSID_MAX_SIZE];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN];
>  	u8 type;
>  	__le16 beaconperiod;
>  	u8 dtimperiod;
> --- linux-wl.orig/drivers/net/wireless/libertas/persistcfg.c
> +++ linux-wl/drivers/net/wireless/libertas/persistcfg.c
> @@ -187,9 +187,9 @@
>  	if (ret)
>  		return ret;
>  
> -	if (defs.meshie.val.mesh_id_len > IW_ESSID_MAX_SIZE) {
> +	if (defs.meshie.val.mesh_id_len > IEEE80211_MAX_SSID_LEN) {
>  		lbs_pr_err("inconsistent mesh ID length");
> -		defs.meshie.val.mesh_id_len = IW_ESSID_MAX_SIZE;
> +		defs.meshie.val.mesh_id_len = IEEE80211_MAX_SSID_LEN;
>  	}
>  
>  	/* SSID not null terminated: reserve room for \0 + \n */
> @@ -214,7 +214,7 @@
>  	int len;
>  	int ret;
>  
> -	if (count < 2 || count > IW_ESSID_MAX_SIZE + 1)
> +	if (count < 2 || count > IEEE80211_MAX_SSID_LEN + 1)
>  		return -EINVAL;
>  
>  	memset(&cmd, 0, sizeof(struct cmd_ds_mesh_config));
> @@ -233,7 +233,7 @@
>  	/* SSID len */
>  	ie->val.mesh_id_len = len;
>  	/* IE len */
> -	ie->len = sizeof(struct mrvl_meshie_val) - IW_ESSID_MAX_SIZE + len;
> +	ie->len = sizeof(struct mrvl_meshie_val) - IEEE80211_MAX_SSID_LEN + len;
>  
>  	ret = lbs_mesh_config_send(priv, &cmd, CMD_ACT_MESH_CONFIG_SET,
>  				   CMD_TYPE_MESH_SET_MESH_IE);
> --- linux-wl.orig/drivers/net/wireless/libertas/types.h
> +++ linux-wl/drivers/net/wireless/libertas/types.h
> @@ -5,8 +5,8 @@
>  #define _LBS_TYPES_H_
>  
>  #include <linux/if_ether.h>
> +#include <linux/ieee80211.h>
>  #include <asm/byteorder.h>
> -#include <linux/wireless.h>
>  
>  struct ieee_ie_header {
>  	u8 id;
> @@ -247,7 +247,7 @@
>  	uint8_t active_metric_id;
>  	uint8_t mesh_capability;
>  	uint8_t mesh_id_len;
> -	uint8_t mesh_id[IW_ESSID_MAX_SIZE];
> +	uint8_t mesh_id[IEEE80211_MAX_SSID_LEN];
>  } __attribute__ ((packed));
>  
>  struct mrvl_meshie {
> --- linux-wl.orig/drivers/net/wireless/libertas/scan.c
> +++ linux-wl/drivers/net/wireless/libertas/scan.c
> @@ -19,11 +19,11 @@
>  
>  //! Approximate amount of data needed to pass a scan result back to iwlist
>  #define MAX_SCAN_CELL_SIZE  (IW_EV_ADDR_LEN             \
> -                             + IW_ESSID_MAX_SIZE        \
> +                             + IEEE80211_MAX_SSID_LEN   \
>                               + IW_EV_UINT_LEN           \
>                               + IW_EV_FREQ_LEN           \
>                               + IW_EV_QUAL_LEN           \
> -                             + IW_ESSID_MAX_SIZE        \
> +                             + IEEE80211_MAX_SSID_LEN   \
>                               + IW_EV_PARAM_LEN          \
>                               + 40)	/* 40 for WPAIE */
>  
> @@ -775,7 +775,7 @@
>  	/* SSID */
>  	iwe.cmd = SIOCGIWESSID;
>  	iwe.u.data.flags = 1;
> -	iwe.u.data.length = min((uint32_t) bss->ssid_len, (uint32_t) IW_ESSID_MAX_SIZE);
> +	iwe.u.data.length = min((uint32_t) bss->ssid_len, (uint32_t) IEEE80211_MAX_SSID_LEN);
>  	start = iwe_stream_add_point(info, start, stop, &iwe, bss->ssid);
>  
>  	/* Mode */
> --- linux-wl.orig/drivers/net/wireless/libertas/wext.c
> +++ linux-wl/drivers/net/wireless/libertas/wext.c
> @@ -1989,7 +1989,7 @@
>  {
>  	struct lbs_private *priv = dev->ml_priv;
>  	int ret = 0;
> -	u8 ssid[IW_ESSID_MAX_SIZE];
> +	u8 ssid[IEEE80211_MAX_SSID_LEN];
>  	u8 ssid_len = 0;
>  	struct assoc_request * assoc_req;
>  	int in_ssid_len = dwrq->length;
> @@ -2003,7 +2003,7 @@
>  	}
>  
>  	/* Check the size of the string */
> -	if (in_ssid_len > IW_ESSID_MAX_SIZE) {
> +	if (in_ssid_len > IEEE80211_MAX_SSID_LEN) {
>  		ret = -E2BIG;
>  		goto out;
>  	}
> @@ -2034,7 +2034,7 @@
>  			ret = -ENOMEM;
>  		} else {
>  			/* Copy the SSID to the association request */
> -			memcpy(&assoc_req->ssid, &ssid, IW_ESSID_MAX_SIZE);
> +			memcpy(&assoc_req->ssid, &ssid, IEEE80211_MAX_SSID_LEN);
>  			assoc_req->ssid_len = ssid_len;
>  			set_bit(ASSOC_FLAG_SSID, &assoc_req->flags);
>  			lbs_postpone_association_work(priv);
> @@ -2085,7 +2085,7 @@
>  	}
>  
>  	/* Check the size of the string */
> -	if (dwrq->length > IW_ESSID_MAX_SIZE) {
> +	if (dwrq->length > IEEE80211_MAX_SSID_LEN) {
>  		ret = -E2BIG;
>  		goto out;
>  	}
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux