Browse Source

Set TX queue parameters during initialization

This was already called from reconfig.c, but the call from hostapd.c had
been forgotten.
Jouni Malinen 16 years ago
parent
commit
990ec3787e
1 changed files with 24 additions and 0 deletions
  1. 24 0
      hostapd/hostapd.c

+ 24 - 0
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) {