aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/hw_features.c
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2011-05-16 22:01:11 +0300
committerJouni Malinen <j@w1.fi>2011-05-16 22:01:11 +0300
commit60eda5e47dc5076feaaedf11331924906ea58817 (patch)
tree8fafd898b87eeedbcc5b7c5622468f6241cc8a63 /src/ap/hw_features.c
parent5dcfb6830e8e5ab624a3bb99f43c2e45fca5b48d (diff)
downloadexternal_wpa_supplicant_8_ti-60eda5e47dc5076feaaedf11331924906ea58817.zip
external_wpa_supplicant_8_ti-60eda5e47dc5076feaaedf11331924906ea58817.tar.gz
external_wpa_supplicant_8_ti-60eda5e47dc5076feaaedf11331924906ea58817.tar.bz2
Better messages when channel cannot be used in AP mode
Log messages letting user know that the channel cannot be used because it is flagged unusable. Signed-off-by: Ben Greear <greearb@candelatech.com>
Diffstat (limited to 'src/ap/hw_features.c')
-rw-r--r--src/ap/hw_features.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c
index f3fffd7..86f6811 100644
--- a/src/ap/hw_features.c
+++ b/src/ap/hw_features.c
@@ -603,7 +603,7 @@ int hostapd_check_ht_capab(struct hostapd_iface *iface)
/**
* hostapd_select_hw_mode - Select the hardware mode
* @iface: Pointer to interface data.
- * Returns: 0 on success, -1 on failure
+ * Returns: 0 on success, < 0 on failure
*
* Sets up the hardware mode, channel, rates, and passive scanning
* based on the configuration.
@@ -631,17 +631,23 @@ int hostapd_select_hw_mode(struct hostapd_iface *iface)
HOSTAPD_LEVEL_WARNING,
"Hardware does not support configured mode "
"(%d)", (int) iface->conf->hw_mode);
- return -1;
+ return -2;
}
ok = 0;
for (j = 0; j < iface->current_mode->num_channels; j++) {
struct hostapd_channel_data *chan =
&iface->current_mode->channels[j];
- if (!(chan->flag & HOSTAPD_CHAN_DISABLED) &&
- (chan->chan == iface->conf->channel)) {
- ok = 1;
- break;
+ if (chan->chan == iface->conf->channel) {
+ if (chan->flag & HOSTAPD_CHAN_DISABLED) {
+ wpa_printf(MSG_ERROR,
+ "channel [%i] (%i) is disabled for "
+ "use in AP mode, flags: 0x%x",
+ j, chan->chan, chan->flag);
+ } else {
+ ok = 1;
+ break;
+ }
}
}
if (ok && iface->conf->secondary_channel) {
@@ -675,7 +681,7 @@ int hostapd_select_hw_mode(struct hostapd_iface *iface)
* the channel automatically */
wpa_printf(MSG_ERROR, "Channel not configured "
"(hw_mode/channel in hostapd.conf)");
- return -1;
+ return -3;
}
if (ok == 0 && iface->conf->channel != 0) {
hostapd_logger(iface->bss[0], NULL,
@@ -693,7 +699,7 @@ int hostapd_select_hw_mode(struct hostapd_iface *iface)
hostapd_logger(iface->bss[0], NULL, HOSTAPD_MODULE_IEEE80211,
HOSTAPD_LEVEL_WARNING,
"Hardware does not support configured channel");
- return -1;
+ return -4;
}
return 0;