mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Fix so that dual access points (AP) works." into qt-dev
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user