if (network->mode == IEEE_B) {
if (mode == IEEE_B) {
static inline void ipw_set_fixed_rate(struct ipw_priv *priv,				      struct ieee80211_network *network){	/* TODO: Verify that this works... */	struct ipw_fixed_rate fr = {		.tx_rates = priv->rates_mask	};	u32 reg;	u16 mask = 0;	/* Identify 'current FW band' and match it with the fixed	 * Tx rates */	switch (priv->ieee->freq_band) {	case IEEE80211_52GHZ_BAND:	/* A only */		/* IEEE_A */		if (priv->rates_mask & ~IEEE80211_OFDM_RATES_MASK) {			/* Invalid fixed rate mask */			IPW_DEBUG_WX			    ("invalid fixed rate mask in ipw_set_fixed_rate\n");			fr.tx_rates = 0;			break;		}		fr.tx_rates >>= IEEE80211_OFDM_SHIFT_MASK_A;		break;	default:		/* 2.4Ghz or Mixed */		/* IEEE_B */		if (network->mode == IEEE_B) {			if (fr.tx_rates & ~IEEE80211_CCK_RATES_MASK) {				/* Invalid fixed rate mask */				IPW_DEBUG_WX				    ("invalid fixed rate mask in ipw_set_fixed_rate\n");				fr.tx_rates = 0;			}			break;		}		/* IEEE_G */		if (fr.tx_rates & ~(IEEE80211_CCK_RATES_MASK |				    IEEE80211_OFDM_RATES_MASK)) {			/* Invalid fixed rate mask */			IPW_DEBUG_WX			    ("invalid fixed rate mask in ipw_set_fixed_rate\n");			fr.tx_rates = 0;			break;		}		if (IEEE80211_OFDM_RATE_6MB_MASK & fr.tx_rates) {			mask |= (IEEE80211_OFDM_RATE_6MB_MASK >> 1);			fr.tx_rates &= ~IEEE80211_OFDM_RATE_6MB_MASK;		}		if (IEEE80211_OFDM_RATE_9MB_MASK & fr.tx_rates) {			mask |= (IEEE80211_OFDM_RATE_9MB_MASK >> 1);			fr.tx_rates &= ~IEEE80211_OFDM_RATE_9MB_MASK;		}		if (IEEE80211_OFDM_RATE_12MB_MASK & fr.tx_rates) {			mask |= (IEEE80211_OFDM_RATE_12MB_MASK >> 1);			fr.tx_rates &= ~IEEE80211_OFDM_RATE_12MB_MASK;		}		fr.tx_rates |= mask;		break;	}	reg = ipw_read32(priv, IPW_MEM_FIXED_OVERRIDE);	ipw_write_reg32(priv, reg, *(u32 *) & fr);}