nl80211: Add stop AP mode event API

Stop AP command can be used by the driver as an event to indicate that
AP mode has stopped operation. WLAN driver may have encountered errors
that has forced the driver to report this event or concurrent operations
on virtual interfaces may have forced AP operation to be stopped. When
in P2P GO mode, wpa_supplicant uses this event to remove P2P group to
keep in sync with the driver state.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Sameer Thalappil 2013-08-06 23:28:40 +03:00 committed by Jouni Malinen
parent c2db79f237
commit 7239ea7f01

View file

@ -2440,6 +2440,13 @@ static void nl80211_tdls_oper_event(struct wpa_driver_nl80211_data *drv,
} }
static void nl80211_stop_ap(struct wpa_driver_nl80211_data *drv,
struct nlattr **tb)
{
wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_UNAVAILABLE, NULL);
}
static void nl80211_connect_failed_event(struct wpa_driver_nl80211_data *drv, static void nl80211_connect_failed_event(struct wpa_driver_nl80211_data *drv,
struct nlattr **tb) struct nlattr **tb)
{ {
@ -2664,6 +2671,9 @@ static void do_process_drv_event(struct i802_bss *bss, int cmd,
case NL80211_CMD_RADAR_DETECT: case NL80211_CMD_RADAR_DETECT:
nl80211_radar_event(drv, tb); nl80211_radar_event(drv, tb);
break; break;
case NL80211_CMD_STOP_AP:
nl80211_stop_ap(drv, tb);
break;
default: default:
wpa_dbg(drv->ctx, MSG_DEBUG, "nl80211: Ignored unknown event " wpa_dbg(drv->ctx, MSG_DEBUG, "nl80211: Ignored unknown event "
"(cmd=%d)", cmd); "(cmd=%d)", cmd);