Set TX queue parameters during initialization
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 29 Oct 2008 17:25:15 +0000 (19:25 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 29 Oct 2008 17:25:15 +0000 (19:25 +0200)
This was already called from reconfig.c, but the call from hostapd.c had
been forgotten.

hostapd/hostapd.c

index fdc61b2..e80446a 100644 (file)
@@ -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) {