IPW_DEBUG_ASSOC ("Not attempting association (already in progress)\n"); 
IPW_DEBUG_ASSOC("Not attempting association (already in " "progress)\n"); 
static int ipw_associate(void *data){	struct ipw_priv *priv = data;	struct ieee80211_network *network = NULL;	struct ipw_network_match match = {		.network = NULL	};	struct ipw_supported_rates *rates;	struct list_head *element;	unsigned long flags;	if (priv->ieee->iw_mode == IW_MODE_MONITOR) {		IPW_DEBUG_ASSOC("Not attempting association (monitor mode)\n");		return 0;	}	if (priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING)) {		IPW_DEBUG_ASSOC		    ("Not attempting association (already in progress)\n");		return 0;	}	if (!ipw_is_init(priv) || (priv->status & STATUS_SCANNING)) {		IPW_DEBUG_ASSOC		    ("Not attempting association (scanning or not initialized)\n");		return 0;	}	if (!(priv->config & CFG_ASSOCIATE) &&	    !(priv->config & (CFG_STATIC_ESSID |			      CFG_STATIC_CHANNEL | CFG_STATIC_BSSID))) {		IPW_DEBUG_ASSOC("Not attempting association (associate=0)\n");		return 0;	}	/* Protect our use of the network_list */	spin_lock_irqsave(&priv->ieee->lock, flags);	list_for_each_entry(network, &priv->ieee->network_list, list)	    ipw_best_network(priv, &match, network, 0);	network = match.network;	rates = &match.rates;	if (network == NULL &&	    priv->ieee->iw_mode == IW_MODE_ADHOC &&	    priv->config & CFG_ADHOC_CREATE &&	    priv->config & CFG_STATIC_ESSID &&	    priv->config & CFG_STATIC_CHANNEL &&	    !list_empty(&priv->ieee->network_free_list)) {		element = priv->ieee->network_free_list.next;		network = list_entry(element, struct ieee80211_network, list);		ipw_adhoc_create(priv, network);		rates = &priv->rates;		list_del(element);		list_add_tail(&network->list, &priv->ieee->network_list);	}	spin_unlock_irqrestore(&priv->ieee->lock, flags);	/* If we reached the end of the list, then we don't have any valid	 * matching APs */	if (!network) {		ipw_debug_config(priv);		if (!(priv->status & STATUS_SCANNING)) {			if (!(priv->config & CFG_SPEED_SCAN))				queue_delayed_work(priv->workqueue,						   &priv->request_scan,						   SCAN_INTERVAL);			else				queue_work(priv->workqueue,					   &priv->request_scan);		}		return 0;	}	ipw_associate_network(priv, network, rates, 0);	return 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/afbf30a2b78cac38e6ddae10a73063943b4783ee/ipw2200.c/clean/drivers/net/wireless/ipw2200.c