[PATCH] driver_nl80211: handle multiple interface combinations for p2p

Felix Fietkau nbd at openwrt.org
Sat Dec 21 11:01:15 EST 2013


The first combination may allow single-channel concurrency for
p2p + managed, but there may be others that allow multi-channel
concurrency. Parse all of them to find the maximum number of channels.

Signed-hostap: Felix Fietkau <nbd at openwrt.org>
---
 src/drivers/driver_nl80211.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 42dddf0..22d81c8 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -3213,10 +3213,12 @@ static int wiphy_info_iface_comb_process(struct wiphy_info_data *info,
 	}
 
 	if (combination_has_p2p && combination_has_mgd) {
-		info->p2p_concurrent = 1;
-		info->num_multichan_concurrent =
+		int num_channels =
 			nla_get_u32(tb_comb[NL80211_IFACE_COMB_NUM_CHANNELS]);
-		return 1;
+
+		info->p2p_concurrent = 1;
+		if (info->num_multichan_concurrent < num_channels)
+			info->num_multichan_concurrent = num_channels;
 	}
 
 	return 0;
-- 
1.8.3.4 (Apple Git-47)



More information about the HostAP mailing list