* ipw2100_wx_wireless_stats seems to be called before fw is 
* netdev->get_wireless_stats seems to be called before fw is 
static struct iw_statistics *ipw_get_wireless_stats(struct net_device *dev){	struct ipw_priv *priv = ieee80211_priv(dev);	struct iw_statistics *wstats;	wstats = &priv->wstats;	/* if hw is disabled, then ipw_get_ordinal() can't be called.	 * ipw2100_wx_wireless_stats seems to be called before fw is	 * initialized.  STATUS_ASSOCIATED will only be set if the hw is up	 * and associated; if not associcated, the values are all meaningless	 * anyway, so set them all to NULL and INVALID */	if (!(priv->status & STATUS_ASSOCIATED)) {		wstats->miss.beacon = 0;		wstats->discard.retries = 0;		wstats->qual.qual = 0;		wstats->qual.level = 0;		wstats->qual.noise = 0;		wstats->qual.updated = 7;		wstats->qual.updated |= IW_QUAL_NOISE_INVALID |		    IW_QUAL_QUAL_INVALID | IW_QUAL_LEVEL_INVALID;		return wstats;	}	wstats->qual.qual = priv->quality;	wstats->qual.level = average_value(&priv->average_rssi);	wstats->qual.noise = average_value(&priv->average_noise);	wstats->qual.updated = IW_QUAL_QUAL_UPDATED | IW_QUAL_LEVEL_UPDATED |	    IW_QUAL_NOISE_UPDATED;	wstats->miss.beacon = average_value(&priv->average_missed_beacons);	wstats->discard.retries = priv->last_tx_failures;	wstats->discard.code = priv->ieee->ieee_stats.rx_discards_undecryptable;/*	if (ipw_get_ordinal(priv, IPW_ORD_STAT_TX_RETRY, &tx_retry, &len))	goto fail_get_ordinal;	wstats->discard.retries += tx_retry; */	return wstats;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/afbf30a2b78cac38e6ddae10a73063943b4783ee/ipw2200.c/clean/drivers/net/wireless/ipw2200.c