extern struct si_pub *ai_attach(void *regs, struct pci_dev *sdh, char **vars,
                                uint *varsz);
 extern void ai_detach(struct si_pub *sih);
-extern bool ai_pci_war16165(struct si_pub *sih);
-
 extern uint ai_coreid(struct si_pub *sih);
 extern uint ai_corerev(struct si_pub *sih);
 extern uint ai_corereg(struct si_pub *sih, uint coreidx, uint regoff, uint mask,
 
        return n >= bound_limit;
 }
 
-static void brcms_c_war16165(struct brcms_c_info *wlc, bool tx)
-{
-       if (tx) {
-               /* the post-increment is used in STAY_AWAKE macro */
-               if (wlc->txpend16165war++ == 0)
-                       brcms_c_set_ps_ctrl(wlc);
-       } else {
-               wlc->txpend16165war--;
-               if (wlc->txpend16165war == 0)
-                       brcms_c_set_ps_ctrl(wlc);
-       }
-}
-
 /* process an individual struct tx_status */
 static bool
 brcms_c_dotxstatus(struct brcms_c_info *wlc, struct tx_status *txs)
        }
 
        p = dma_getnexttxp(wlc->hw->di[queue], DMA_RANGE_TRANSMITTED);
-       if (wlc->war16165)
-               brcms_c_war16165(wlc, false);
        if (p == NULL)
                goto fatal;
 
        struct brcms_hardware *wlc_hw = wlc->hw;
        uint i;
 
-       wlc->txpend16165war = 0;
-
        /* free any posted tx packets */
        for (i = 0; i < NFIFO; i++)
                if (wlc_hw->di[i]) {
        AND_REG(®s->ifs_ctl, 0x0FFF);
        W_REG(®s->ifs_aifsn, EDCF_AIFSN_MIN);
 
-       /* dma initializations */
-       wlc->txpend16165war = 0;
-
        /* init the tx dma engines */
        for (i = 0; i < NFIFO; i++) {
                if (wlc_hw->di[i])
        if (wlc_hw->boardflags & BFL_NOPLLDOWN)
                brcms_b_pllreq(wlc_hw, true, BRCMS_PLLREQ_SHARED);
 
-       if (ai_pci_war16165(wlc_hw->sih))
-               wlc->war16165 = true;
-
        /* check device id(srom, nvram etc.) to set bands */
        if (wlc_hw->deviceid == BCM43224_D11N_ID ||
            wlc_hw->deviceid == BCM43224_D11N_ID_VEN1)
        /* Set EDCF hostflags */
        brcms_c_mhf(wlc, MHF1, MHF1_EDCF, MHF1_EDCF, BRCM_BAND_ALL);
 
-       if (wlc->war16165)
-               brcms_c_mhf(wlc, MHF2, MHF2_PCISLOWCLKWAR, MHF2_PCISLOWCLKWAR,
-                       BRCM_BAND_ALL);
-
        brcms_init(wlc->wl);
        wlc->pub->up = true;
 
        if (fifo == TX_BCMC_FIFO)
                frameid = le16_to_cpu(txh->TxFrameID);
 
-       if (wlc->war16165)
-               brcms_c_war16165(wlc, true);
-
-
        /*
         * Bump up pending count for if not using rpc. If rpc is
         * used, this will be handled in brcms_b_txfifo()
 
  * band: pointer to active per-band state.
  * corestate: per-core state (one per hw core).
  * bandstate: per-band state (one per phy/radio).
- * war16165: PCI slow clock 16165 war flag.
- * txpend16165war: PCI slow clock 16165 war flag.
  * qvalid: DirFrmQValid and BcMcFrmQValid.
  * ampdu: ampdu module handler.
  * asi: antsel module handler.
        struct brcms_core *corestate;
        struct brcms_band *bandstate[MAXBANDS];
 
-       bool war16165;
-       uint txpend16165war;
-
        /* packet queue */
        uint qvalid;