-/* $OpenBSD: if_iwm.c,v 1.323 2021/05/10 08:28:00 stsp Exp $ */
+/* $OpenBSD: if_iwm.c,v 1.324 2021/05/12 10:05:57 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
if (start) {
/* Enable Tx aggregation for this queue. */
in->tid_disable_ampdu &= ~(1 << tid);
- in->tfd_queue_msk |= htole32(1 << qid);
+ in->tfd_queue_msk |= (1 << qid);
} else {
- in->tid_disable_ampdu |= ~(1 << tid);
+ in->tid_disable_ampdu |= (1 << tid);
/* Queue remains enabled in the TFD queue mask. */
err = iwm_flush_sta(sc, in);
if (err)
qid = IWM_DQA_INJECT_MONITOR_QUEUE;
else
qid = IWM_AUX_QUEUE;
- in->tfd_queue_msk |= htole32(1 << qid);
+ in->tfd_queue_msk |= (1 << qid);
} else {
int ac;
for (ac = 0; ac < EDCA_NUM_AC; ac++) {
if (isset(sc->sc_enabled_capa,
IWM_UCODE_TLV_CAPA_DQA_SUPPORT))
qid += IWM_DQA_MIN_MGMT_QUEUE;
- in->tfd_queue_msk |= htole32(1 << qid);
+ in->tfd_queue_msk |= (1 << qid);
}
}
if (!update) {
sc->sc_flags |= IWM_FLAG_BINDING_ACTIVE;
in->tid_disable_ampdu = 0xffff;
- in->tfd_queue_msk = 0;
err = iwm_add_sta_cmd(sc, in, 0);
if (err) {
printf("%s: could not add sta (error %d)\n",
return err;
}
in->tid_disable_ampdu = 0xffff;
- in->tfd_queue_msk = 0;
sc->sc_flags &= ~IWM_FLAG_STA_ACTIVE;
sc->sc_rx_ba_sessions = 0;
sc->ba_rx.start_tidmask = 0;
sc->ba_rx.stop_tidmask = 0;
+ sc->tx_ba_queue_mask = 0;
sc->ba_tx.start_tidmask = 0;
sc->ba_tx.stop_tidmask = 0;
}
splassert(IPL_NET);
- if (!update_sta) {
+ if (!update_sta)
in->tid_disable_ampdu = 0xffff;
- in->tfd_queue_msk = 0;
- }
err = iwm_add_sta_cmd(sc, in, update_sta);
if (err) {
printf("%s: could not %s STA (error %d)\n",
return err;
}
in->tid_disable_ampdu = 0xffff;
- in->tfd_queue_msk = 0;
sc->sc_flags &= ~IWM_FLAG_STA_ACTIVE;
sc->sc_rx_ba_sessions = 0;
sc->ba_rx.start_tidmask = 0;
sc->ba_rx.stop_tidmask = 0;
+ sc->tx_ba_queue_mask = 0;
sc->ba_tx.start_tidmask = 0;
sc->ba_tx.stop_tidmask = 0;
}
ifq_clr_oactive(&ifp->if_snd);
in->in_phyctxt = NULL;
+ in->tid_disable_ampdu = 0xffff;
+ in->tfd_queue_msk = 0;
sc->sc_flags &= ~(IWM_FLAG_SCANNING | IWM_FLAG_BGSCAN);
sc->sc_flags &= ~IWM_FLAG_MAC_ACTIVE;