 ssid_el_p[0]= C80211_MGMT_ElementID_SSID; 
 ssid_el_p[0] = C80211_MGMT_ElementID_SSID; 
static void send_association_request(struct atmel_private *priv, int is_reassoc){	u8 *ssid_el_p;	int bodysize;	struct ieee80211_hdr_4addr header;	struct ass_req_format {		u16 capability;		u16 listen_interval; 		u8 ap[6]; /* nothing after here directly accessible */		u8 ssid_el_id;		u8 ssid_len;		u8 ssid[MAX_SSID_LENGTH];		u8 sup_rates_el_id;		u8 sup_rates_len;		u8 rates[4];	} body;			header.frame_ctl = cpu_to_le16(IEEE80211_FTYPE_MGMT | 		(is_reassoc ? IEEE80211_STYPE_REASSOC_REQ : IEEE80211_STYPE_ASSOC_REQ));	header.duration_id = cpu_to_le16(0x8000);	header.seq_ctl = 0;	memcpy(header.addr1, priv->CurrentBSSID, 6); 	memcpy(header.addr2, priv->dev->dev_addr, 6);	memcpy(header.addr3, priv->CurrentBSSID, 6); 	body.capability = cpu_to_le16(C80211_MGMT_CAPABILITY_ESS);	if (priv->wep_is_on)		body.capability |= cpu_to_le16(C80211_MGMT_CAPABILITY_Privacy);	if (priv->preamble == SHORT_PREAMBLE)		body.capability |= cpu_to_le16(C80211_MGMT_CAPABILITY_ShortPreamble);	body.listen_interval = cpu_to_le16(priv->listen_interval * priv->beacon_period);		/* current AP address - only in reassoc frame */	if (is_reassoc) {		memcpy(body.ap,  priv->CurrentBSSID, 6);		ssid_el_p = (u8 *)&body.ssid_el_id;		bodysize = 18 + priv->SSID_size;	} else {		ssid_el_p = (u8 *)&body.ap[0];		bodysize = 12 + priv->SSID_size;	}			ssid_el_p[0]= C80211_MGMT_ElementID_SSID;	ssid_el_p[1] = priv->SSID_size;	memcpy(ssid_el_p + 2, priv->SSID, priv->SSID_size);	ssid_el_p[2 + priv->SSID_size] = C80211_MGMT_ElementID_SupportedRates;	ssid_el_p[3 + priv->SSID_size] = 4; /* len of suported rates */	memcpy(ssid_el_p + 4 + priv->SSID_size, atmel_basic_rates, 4);	atmel_transmit_management_frame(priv, &header, (void *)&body, bodysize);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4d791aadf63c9d605bc9a4144e79d5756fc29fb3/atmel.c/clean/drivers/net/wireless/atmel.c