From 83c4cb521782f5d8bf031de9aafdc29046e34642 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 6 Apr 2014 13:11:53 +0200 Subject: [PATCH] nl80211: Handle multiple interface combinations for P2P 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-off-by: Felix Fietkau --- 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 c14050759..e531e22fb 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -3444,10 +3444,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 = + unsigned 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;