qcacmn: Refining connection handling for specific vendor
Currently, on host-side connection handling, it persisted
with the same candidate until it achieved SLO. Host driver
selection process factored in scores, with subsequent attempts
exploring all combinations until SLO, bypassing score
considerations.
When vendor roam score algorithm is enabled and association failure
happens while trying MLO connection with multiple link, then
retry with candidate having better etp score.
Logic :- Create all possible valid unique combination of candidate
Apply additional boost to 3 link candidate [20%]
Apply additional boost to 2 link DBS candidate [10%]
Retry with candidate based on etp score
Ex1:
Single AP1 3 link 6 GHz etp > 5 GHz etp > 2 GHz etp
AP1 6 GHz + 2 GHz + 5 GHz [link boost 20%]
AP1 6 GHz + 2 GHz [DBS boost 10%]
AP1 6 GHz + 5 GHz
AP1 6 GHz
AP1 5 GHz + 2 GHz [DBS boost 10%]
AP1 5 GHz
AP1 2 GHz
Ex2:
AP1 3link 6 GHz etp > 5 GHz etp > 2 GHz etp
AP2 SLO 2 GHz AP2 2 GHz etp > AP1 5 GHz etp
AP1 6 GHz + 2 GHz + 5 GHz [link boost 20%]
AP1 6 GHz + 2 GHz [DBS boost 10%]
AP1 6 GHz + 5 GHz
AP1 6 GHz
AP1 5 GHz + 2 GHz [DBS boost 10%]
AP2 2 GHz
AP1 5 GHz
AP1 2 GHz
Change-Id: I73edf31f9dd82cf82c8516e19df1538404f96435
CRs-Fixed: 3625114