hostapd: Fix interface enabling/disabling and DFS

The 'started' state was tracked incorrectly. It also broke DFS
as it was using hostapd_enable/disable_iface() functions.

Signed-hostap: Michal Kazior <michal.kazior@tieto.com>
This commit is contained in:
Michal Kazior 2013-11-19 11:08:47 +01:00 committed by Jouni Malinen
parent 1cba9bea96
commit 68d628accd

View File

@ -243,6 +243,13 @@ static int hostapd_broadcast_wep_set(struct hostapd_data *hapd)
static void hostapd_free_hapd_data(struct hostapd_data *hapd)
{
if (!hapd->started) {
wpa_printf(MSG_ERROR, "%s: Interface %s wasn't started",
__func__, hapd->conf->iface);
return;
}
hapd->started = 0;
wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface);
iapp_deinit(hapd->iapp);
hapd->iapp = NULL;
@ -306,7 +313,6 @@ static void hostapd_cleanup(struct hostapd_data *hapd)
hapd->iface->interfaces->ctrl_iface_deinit)
hapd->iface->interfaces->ctrl_iface_deinit(hapd);
hostapd_free_hapd_data(hapd);
hapd->started = 0;
}