diff --git a/hostapd/hostapd.c b/hostapd/hostapd.c index fdc61b28c..e80446a7b 100644 --- a/hostapd/hostapd.c +++ b/hostapd/hostapd.c @@ -1362,6 +1362,28 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) } +static void hostapd_tx_queue_params(struct hostapd_iface *iface) +{ + struct hostapd_data *hapd = iface->bss[0]; + int i; + struct hostapd_tx_queue_params *p; + + for (i = 0; i < NUM_TX_QUEUES; i++) { + p = &iface->conf->tx_queue[i]; + + if (!p->configured) + continue; + + if (hostapd_set_tx_queue_params(hapd, i, p->aifs, p->cwmin, + p->cwmax, p->burst)) { + printf("Failed to set TX queue parameters for queue %d" + ".\n", i); + /* Continue anyway */ + } + } +} + + /** * setup_interface2 - Setup (initialize) an interface (part 2) * @iface: Pointer to interface data. @@ -1425,6 +1447,8 @@ static int setup_interface2(struct hostapd_iface *iface) prev_addr = hapd->own_addr; } + hostapd_tx_queue_params(iface); + ap_list_init(iface); if (hostapd_driver_commit(hapd) < 0) {