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

Submitted by Johannes Berg on Dec. 5, 2011, 1:42 p.m.

Details

Message ID 1323092522.4051.36.camel@jlt3.sipsolutions.net
State Superseded
Headers show

Commit Message

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 hide | download patch | download mbox

--- 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;