ipw_set_hw_decrypt_multicast(priv, wext_cipher2level(param->value)); break; 
static int ipw_wx_set_auth(struct net_device *dev,			   struct iw_request_info *info,			   union iwreq_data *wrqu, char *extra){	struct ipw_priv *priv = ieee80211_priv(dev);	struct ieee80211_device *ieee = priv->ieee;	struct iw_param *param = &wrqu->param;	struct ieee80211_crypt_data *crypt;	unsigned long flags;	int ret = 0;	switch (param->flags & IW_AUTH_INDEX) {	case IW_AUTH_WPA_VERSION:	case IW_AUTH_CIPHER_PAIRWISE:	case IW_AUTH_CIPHER_GROUP:	case IW_AUTH_KEY_MGMT:		/*		 * ipw2200 does not use these parameters		 */		break;	case IW_AUTH_TKIP_COUNTERMEASURES:		crypt = priv->ieee->crypt[priv->ieee->tx_keyidx];		if (!crypt || !crypt->ops->set_flags || !crypt->ops->get_flags) {			IPW_WARNING("Can't set TKIP countermeasures: "				    "crypt not set!\n");			break;		}		flags = crypt->ops->get_flags(crypt->priv);		if (param->value)			flags |= IEEE80211_CRYPTO_TKIP_COUNTERMEASURES;		else			flags &= ~IEEE80211_CRYPTO_TKIP_COUNTERMEASURES;		crypt->ops->set_flags(flags, crypt->priv);		break;	case IW_AUTH_DROP_UNENCRYPTED:{			/* HACK:			 *			 * wpa_supplicant calls set_wpa_enabled when the driver			 * is loaded and unloaded, regardless of if WPA is being			 * used.  No other calls are made which can be used to			 * determine if encryption will be used or not prior to			 * association being expected.  If encryption is not being			 * used, drop_unencrypted is set to false, else true -- we			 * can use this to determine if the CAP_PRIVACY_ON bit should			 * be set.			 */			struct ieee80211_security sec = {				.flags = SEC_ENABLED,				.enabled = param->value,			};			priv->ieee->drop_unencrypted = param->value;			/* We only change SEC_LEVEL for open mode. Others			 * are set by ipw_wpa_set_encryption.			 */			if (!param->value) {				sec.flags |= SEC_LEVEL;				sec.level = SEC_LEVEL_0;			} else {				sec.flags |= SEC_LEVEL;				sec.level = SEC_LEVEL_1;			}			if (priv->ieee->set_security)				priv->ieee->set_security(priv->ieee->dev, &sec);			break;		}	case IW_AUTH_80211_AUTH_ALG:		ret = ipw_wpa_set_auth_algs(priv, param->value);		break;	case IW_AUTH_WPA_ENABLED:		ret = ipw_wpa_enable(priv, param->value);		break;	case IW_AUTH_RX_UNENCRYPTED_EAPOL:		ieee->ieee802_1x = param->value;		break;		//case IW_AUTH_ROAMING_CONTROL:	case IW_AUTH_PRIVACY_INVOKED:		ieee->privacy_invoked = param->value;		break;	default:		return -EOPNOTSUPP;	}	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1fbfea549f07f1f7afd436f1e45b25437f0172c2/ipw2200.c/clean/drivers/net/wireless/ipw2200.c