 if (!ieee->wpa_enabled) return -EOPNOTSUPP; 
static int ipw_wpa_set_wpa_ie(struct net_device *dev,			      struct ipw_param *param, int plen){	struct ipw_priv *priv = ieee80211_priv(dev);	struct ieee80211_device *ieee = priv->ieee;	u8 *buf;	if (!ieee->wpa_enabled)		return -EOPNOTSUPP;	if (param->u.wpa_ie.len > MAX_WPA_IE_LEN ||	    (param->u.wpa_ie.len && param->u.wpa_ie.data == NULL))		return -EINVAL;	if (param->u.wpa_ie.len) {		buf = kmalloc(param->u.wpa_ie.len, GFP_KERNEL);		if (buf == NULL)			return -ENOMEM;		memcpy(buf, param->u.wpa_ie.data, param->u.wpa_ie.len);		kfree(ieee->wpa_ie);		ieee->wpa_ie = buf;		ieee->wpa_ie_len = param->u.wpa_ie.len;	} else {		kfree(ieee->wpa_ie);		ieee->wpa_ie = NULL;		ieee->wpa_ie_len = 0;	}	ipw_wpa_assoc_frame(priv, ieee->wpa_ie, ieee->wpa_ie_len);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b095c3819805f87d73d41641a53e4c070360d783/ipw2200.c/buggy/drivers/net/wireless/ipw2200.c