Patchwork [v4,10/15] driver_nl80211: use nl80211 for mgmt TX/RX in AP mode

login
register
mail settings
Submitter Johannes Berg
Date Dec. 5, 2011, 1:42 p.m.
Message ID <1323092522.4051.36.camel@jlt3.sipsolutions.net>
Download mbox | patch
Permalink /patch/129286/
State Superseded
Headers show

Comments

Johannes Berg - Dec. 5, 2011, 1:42 p.m.
On Sat, 2011-12-03 at 20:39 +0200, Jouni Malinen wrote:

> 1322937312.602354: nl80211: Setup AP operations for P2P group (GO)
> 1322937312.602372: nl80211: Set mode ifindex 3 iftype 9 (P2P_GO)
> 1322937312.603544: nl80211: Register frame command failed (type=64): ret=-114 (Operation already in progress)
> 1322937312.603596: nl80211: Register frame match - hexdump(len=0): [NULL]
> 1322937312.603753: wlan0: Failed to start AP functionality

So this is indeed starting a GO while probe request reporting is
enabled, the easiest and probably best fix too seems to just disable it
unconditionally, see below.

I'll roll that into this patch and investigate the other bug.

johannes

Patch

--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -5602,6 +5602,13 @@  static int nl80211_setup_ap(struct i802_bss *bss)
 {
 	struct wpa_driver_nl80211_data *drv = bss->drv;
 
+	/*
+	 * Disable probe request reporting unless we may need it,
+	 * we'll enable it through the nl_mgmt socket instead.
+	 */
+	if (!drv->device_ap_sme)
+		wpa_driver_nl80211_probe_req_report(bss, 0);
+
 	if (!drv->device_ap_sme && !drv->use_monitor)
 		if (nl80211_mgmt_subscribe_ap(bss))
 			return -1;