Cumulative patch from commit f3ff948753ebe5643b5c2d16546a4d16e2c9d20a
f3ff948 P2P: Add NFC_HANDOVER commands to p2p_redir list
efd11c0 Add reassociate command to dbus doxygen
481e66b Fix reassociate dbus method
2150c33 wpa_cli: Fix wrong comparison in wpa_cli_cmd_interface
83c4cb5 nl80211: Handle multiple interface combinations for P2P
0133591 HS 2.0 SPP server: Fix aaa_trust_root_cert_url example to use DER
0e0e1e5 P2P: Add retry mechanism for GO Negotiation Confirmation
8235f89 P2P: Mark the scan in p2p_in_invitation as p2p_probe
9392c9b nl80211: Use LEAVE_IBSS with driver-based-SME
38ce8e2 Android: Add qca-vendor.h to be exported
Change-Id: I34771c58e2de5e0a3133326d4b3171341ac07b17
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 27b4c48..e531e22 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -3444,10 +3444,12 @@
}
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;
@@ -5876,13 +5878,16 @@
const u8 *addr, int reason_code)
{
struct wpa_driver_nl80211_data *drv = bss->drv;
+
+ if (drv->nlmode == NL80211_IFTYPE_ADHOC) {
+ nl80211_mark_disconnected(drv);
+ return nl80211_leave_ibss(drv);
+ }
if (!(drv->capa.flags & WPA_DRIVER_FLAGS_SME))
return wpa_driver_nl80211_disconnect(drv, reason_code);
wpa_printf(MSG_DEBUG, "%s(addr=" MACSTR " reason_code=%d)",
__func__, MAC2STR(addr), reason_code);
nl80211_mark_disconnected(drv);
- if (drv->nlmode == NL80211_IFTYPE_ADHOC)
- return nl80211_leave_ibss(drv);
return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DEAUTHENTICATE,
reason_code, 0);
}