DPRINTF(sc, ATH_DBG_CONFIG,
                "%s: %u (%u MHz) -> %u (%u MHz), cflags:%x\n",
                __func__,
-               ath9k_hw_mhz2ieee(ah, sc->sc_curchan.channel,
-                                 sc->sc_curchan.channelFlags),
-               sc->sc_curchan.channel,
+               ath9k_hw_mhz2ieee(ah, sc->sc_ah->ah_curchan->channel,
+                                 sc->sc_ah->ah_curchan->channelFlags),
+               sc->sc_ah->ah_curchan->channel,
                ath9k_hw_mhz2ieee(ah, hchan->channel, hchan->channelFlags),
                hchan->channel, hchan->channelFlags);
 
        ht_macmode = ath_cwm_macmode(sc);
 
-       if (hchan->channel != sc->sc_curchan.channel ||
-           hchan->channelFlags != sc->sc_curchan.channelFlags ||
+       if (hchan->channel != sc->sc_ah->ah_curchan->channel ||
+           hchan->channelFlags != sc->sc_ah->ah_curchan->channelFlags ||
            (sc->sc_flags & SC_OP_CHAINMASK_UPDATE) ||
            (sc->sc_flags & SC_OP_FULL_RESET)) {
                int status;
                }
                spin_unlock_bh(&sc->sc_resetlock);
 
-               sc->sc_curchan = *hchan;
                sc->sc_flags &= ~SC_OP_CHAINMASK_UPDATE;
                sc->sc_flags &= ~SC_OP_FULL_RESET;
 
         * be followed by initialization of the appropriate bits
         * and then setup of the interrupt mask.
         */
-       sc->sc_curchan = *initial_chan;
 
        spin_lock_bh(&sc->sc_resetlock);
-       if (!ath9k_hw_reset(ah, &sc->sc_curchan, ht_macmode,
+       if (!ath9k_hw_reset(ah, initial_chan, ht_macmode,
                           sc->sc_tx_chainmask, sc->sc_rx_chainmask,
                           sc->sc_ht_extprotspacing, false, &status)) {
                DPRINTF(sc, ATH_DBG_FATAL,
                        "%s: unable to reset hardware; hal status %u "
                        "(freq %u flags 0x%x)\n", __func__, status,
-                       sc->sc_curchan.channel, sc->sc_curchan.channelFlags);
+                       initial_chan->channel, initial_chan->channelFlags);
                error = -EIO;
                spin_unlock_bh(&sc->sc_resetlock);
                goto done;
 
        /* Reset chip */
        spin_lock_bh(&sc->sc_resetlock);
-       if (!ath9k_hw_reset(ah, &sc->sc_curchan,
+       if (!ath9k_hw_reset(ah, sc->sc_ah->ah_curchan,
                           ht_macmode,
                           sc->sc_tx_chainmask, sc->sc_rx_chainmask,
                           sc->sc_ht_extprotspacing, false, &status)) {
         * that changes the channel so update any state that
         * might change as a result.
         */
-       ath_setcurmode(sc, ath_chan2mode(&sc->sc_curchan));
+       ath_setcurmode(sc, ath_chan2mode(sc->sc_ah->ah_curchan));
 
        ath_update_txpow(sc);