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

Commit f012b65d authored by lesl's avatar lesl Committed by Etan Cohen
Browse files

wifi: fix incorrect active wlan iface in bridged mode

The hal use first active wlan iface to get chip info.
It should should return active wlan instance in bridged mode.

Bug: 162686273
Test: Manual test.
1. Wifi Off (SAA off), make sure bridged AP is first wlan iface
2. Enable bridged mode

Change-Id: Id5a3d5ab53c6ed34d5633be22ad56070f5f0d0e2
parent ef6aafa2
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1795,7 +1795,16 @@ bool WifiChip::isDualStaConcurrencyAllowedInCurrentMode() {

std::string WifiChip::getFirstActiveWlanIfaceName() {
    if (sta_ifaces_.size() > 0) return sta_ifaces_[0]->getName();
    if (ap_ifaces_.size() > 0) return ap_ifaces_[0]->getName();
    if (ap_ifaces_.size() > 0) {
        // If the first active wlan iface is bridged iface.
        // Return first instance name.
        for (auto const& it : br_ifaces_ap_instances_) {
            if (it.first == ap_ifaces_[0]->getName()) {
                return it.second[0];
            }
        }
        return ap_ifaces_[0]->getName();
    }
    // This could happen if the chip call is made before any STA/AP
    // iface is created. Default to wlan0 for such cases.
    LOG(WARNING) << "No active wlan interfaces in use! Using default";