local->wstats.qual.updated = 3; 
local->wstats.qual.updated |= IW_QUAL_NOISE_INVALID; 
static void airo_read_wireless_stats(struct airo_info *local){	StatusRid status_rid;	StatsRid stats_rid;	CapabilityRid cap_rid;	u32 *vals = stats_rid.vals;	/* Get stats out of the card */	clear_bit(JOB_WSTATS, &local->flags);	if (local->power) {		up(&local->sem);		return;	}	readCapabilityRid(local, &cap_rid, 0);	readStatusRid(local, &status_rid, 0);	readStatsRid(local, &stats_rid, RID_STATS, 0);	up(&local->sem);	/* The status */	local->wstats.status = status_rid.mode;	/* Signal quality and co. But where is the noise level ??? */	local->wstats.qual.qual = airo_get_quality(&status_rid, &cap_rid);	if (local->rssi)		local->wstats.qual.level = 0x100 - local->rssi[status_rid.sigQuality].rssidBm;	else		local->wstats.qual.level = (status_rid.normalizedSignalStrength + 321) / 2;	if (status_rid.len >= 124) {		local->wstats.qual.noise = 256 - status_rid.noisedBm;		local->wstats.qual.updated = 7;	} else {		local->wstats.qual.noise = 0;		local->wstats.qual.updated = 3;	}	/* Packets discarded in the wireless adapter due to wireless	 * specific problems */	local->wstats.discard.nwid = vals[56] + vals[57] + vals[58];/* SSID Mismatch */	local->wstats.discard.code = vals[6];/* RxWepErr */	local->wstats.discard.fragment = vals[30];	local->wstats.discard.retries = vals[10];	local->wstats.discard.misc = vals[1] + vals[32];	local->wstats.miss.beacon = vals[34];}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/41480af27a85d6008d9e11db8bc2730407c25e1d/airo.c/buggy/drivers/net/wireless/airo.c