Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2406d887 authored by James Mattis's avatar James Mattis Committed by android-build-merger
Browse files

Merge "Fix so that dual access points (AP) works." into qt-dev

am: 87592de6

Change-Id: Iac1253f621b0cb658a1db86c19294a58dd0ca257
parents 37b6df0a 87592de6
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -1463,6 +1463,13 @@ bool WifiChip::isStaApConcurrencyAllowedInCurrentMode() {
    return canCurrentModeSupportIfaceCombo(req_iface_combo);
}

bool WifiChip::isDualApAllowedInCurrentMode() {
    // Check if we can support atleast 1 STA & 1 AP concurrently.
    std::map<IfaceType, size_t> req_iface_combo;
    req_iface_combo[IfaceType::AP] = 2;
    return canCurrentModeSupportIfaceCombo(req_iface_combo);
}

std::string WifiChip::getFirstActiveWlanIfaceName() {
    if (sta_ifaces_.size() > 0) return sta_ifaces_[0]->getName();
    if (ap_ifaces_.size() > 0) return ap_ifaces_[0]->getName();
@@ -1488,10 +1495,12 @@ std::string WifiChip::allocateApOrStaIfaceName(uint32_t start_idx) {
}

// AP iface names start with idx 1 for modes supporting
// concurrent STA, else start with idx 0.
// concurrent STA and not dual AP, else start with idx 0.
std::string WifiChip::allocateApIfaceName() {
    return allocateApOrStaIfaceName(
        isStaApConcurrencyAllowedInCurrentMode() ? 1 : 0);
    return allocateApOrStaIfaceName((isStaApConcurrencyAllowedInCurrentMode() &&
                                     !isDualApAllowedInCurrentMode())
                                        ? 1
                                        : 0);
}

// STA iface names start with idx 0.
+1 −0
Original line number Diff line number Diff line
@@ -240,6 +240,7 @@ class WifiChip : public V1_3::IWifiChip {
    bool canCurrentModeSupportIfaceOfType(IfaceType requested_type);
    bool isValidModeId(ChipModeId mode_id);
    bool isStaApConcurrencyAllowedInCurrentMode();
    bool isDualApAllowedInCurrentMode();
    std::string getFirstActiveWlanIfaceName();
    std::string allocateApOrStaIfaceName(uint32_t start_idx);
    std::string allocateApIfaceName();