diff --git a/wifi/1.6/default/wifi_chip.cpp b/wifi/1.6/default/wifi_chip.cpp index c7c00b17fd..920beb8778 100644 --- a/wifi/1.6/default/wifi_chip.cpp +++ b/wifi/1.6/default/wifi_chip.cpp @@ -1926,9 +1926,10 @@ uint32_t WifiChip::startIdxOfApIface() { // concurrent STA and not dual AP, else start with idx 0. std::string WifiChip::allocateApIfaceName() { // Check if we have a dedicated iface for AP. - std::vector ifnames = getPredefinedApIfaceNames(false); - if (!ifnames.empty()) { - return ifnames[0]; + std::vector ifnames = getPredefinedApIfaceNames(true); + for (auto const& ifname : ifnames) { + if (findUsingName(ap_ifaces_, ifname)) continue; + return ifname; } return allocateApOrStaIfaceName(IfaceType::AP, startIdxOfApIface()); }