int unflushed = 0;
        int i;
        unsigned long flags;
-       struct iwl_priv *priv = rs_sta->priv;
+       struct iwl_priv *priv __maybe_unused = rs_sta->priv;
 
        /*
         * For each rate, if we have collected data on that rate
 static void iwl3945_bg_rate_scale_flush(unsigned long data)
 {
        struct iwl3945_rs_sta *rs_sta = (void *)data;
-       struct iwl_priv *priv = rs_sta->priv;
+       struct iwl_priv *priv __maybe_unused = rs_sta->priv;
        int unflushed = 0;
        unsigned long flags;
        u32 packet_count, duration, pps;
 {
        unsigned long flags;
        s32 fail_count;
-       struct iwl_priv *priv = rs_sta->priv;
+       struct iwl_priv *priv __maybe_unused = rs_sta->priv;
 
        if (!retries) {
                IWL_DEBUG_RATE("leave: retries == 0 -- should be at least 1\n");
 {
        struct iwl3945_sta_priv *psta = (void *) sta->drv_priv;
        struct iwl3945_rs_sta *rs_sta = priv_sta;
-       struct iwl_priv *priv = rs_sta->priv;
+       struct iwl_priv *priv __maybe_unused = rs_sta->priv;
 
        psta->rs_sta = NULL;
 
 {
        u8 high = IWL_RATE_INVALID;
        u8 low = IWL_RATE_INVALID;
-       struct iwl_priv *priv = rs_sta->priv;
+       struct iwl_priv *priv __maybe_unused = rs_sta->priv;
 
        /* 802.11A walks to the next literal adjacent rate in
         * the rate table */
 
                             struct device_attribute *attr,
                             const char *buf, size_t count)
 {
+       struct iwl_priv *priv __maybe_unused = dev_get_drvdata(d);
        int ant;
-       struct iwl_priv *priv = dev_get_drvdata(d);
 
        if (count == 0)
                return 0;