setup_timer(&common->ani.timer, ath_ani_calibrate, (unsigned long)sc);
 
+       sc->last_rssi = ATH_RSSI_DUMMY_MARKER;
        sc->config.txpowlimit = ATH_TXPOWER_MAX;
        memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
        sc->beacon.slottime = ATH9K_SLOT_TIME_9;
        tasklet_init(&sc->bcon_tasklet, ath_beacon_tasklet,
                     (unsigned long)sc);
 
+       INIT_WORK(&sc->hw_reset_work, ath_reset_work);
+       INIT_WORK(&sc->hw_check_work, ath_hw_check);
+       INIT_WORK(&sc->paprd_work, ath_paprd_calibrate);
+       INIT_DELAYED_WORK(&sc->hw_pll_work, ath_hw_pll_work);
+       setup_timer(&sc->rx_poll_timer, ath_rx_poll, (unsigned long)sc);
+
        /*
         * Cache line size is used to size and align various
         * structures used to communicate with the hardware.
                ARRAY_SIZE(ath9k_tpt_blink));
 #endif
 
-       INIT_WORK(&sc->hw_reset_work, ath_reset_work);
-       INIT_WORK(&sc->hw_check_work, ath_hw_check);
-       INIT_WORK(&sc->paprd_work, ath_paprd_calibrate);
-       INIT_DELAYED_WORK(&sc->hw_pll_work, ath_hw_pll_work);
-
        /* Register with mac80211 */
        error = ieee80211_register_hw(hw);
        if (error)
                        goto error_world;
        }
 
-       setup_timer(&sc->rx_poll_timer, ath_rx_poll, (unsigned long)sc);
-       sc->last_rssi = ATH_RSSI_DUMMY_MARKER;
-
        ath_init_leds(sc);
        ath_start_rfkill_poll(sc);