mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 01:30:30 -04:00
transmit beacon frames directly instead of defering them to a swi; there
was too much delay Obtained from: madwifi
This commit is contained in:
parent
cb344d958a
commit
babe2453bd
2 changed files with 8 additions and 4 deletions
|
|
@ -270,7 +270,6 @@ ath_attach(u_int16_t devid, struct ath_softc *sc)
|
|||
|
||||
TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc);
|
||||
TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc);
|
||||
TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc);
|
||||
TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc);
|
||||
TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc);
|
||||
TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc);
|
||||
|
|
@ -480,8 +479,14 @@ ath_intr(void *arg)
|
|||
taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask);
|
||||
if (status & HAL_INT_TX)
|
||||
taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask);
|
||||
if (status & HAL_INT_SWBA)
|
||||
taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask);
|
||||
if (status & HAL_INT_SWBA) {
|
||||
/*
|
||||
* Handle beacon transmission directly; deferring
|
||||
* this is too slow to meet timing constraints
|
||||
* under load.
|
||||
*/
|
||||
ath_beacon_proc(sc, 0);
|
||||
}
|
||||
if (status & HAL_INT_BMISS) {
|
||||
sc->sc_stats.ast_bmiss++;
|
||||
taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask);
|
||||
|
|
|
|||
|
|
@ -147,7 +147,6 @@ struct ath_softc {
|
|||
u_int sc_bhalq; /* HAL q for outgoing beacons */
|
||||
struct ath_buf *sc_bcbuf; /* beacon buffer */
|
||||
struct ath_buf *sc_bufptr; /* allocated buffer ptr */
|
||||
struct task sc_swbatask; /* swba int processing */
|
||||
struct task sc_bmisstask; /* bmiss int processing */
|
||||
|
||||
struct callout sc_cal_ch; /* callout handle for cals */
|
||||
|
|
|
|||
Loading…
Reference in a new issue