Commit Graph

191 Commits

Author SHA1 Message Date
Linux Build Service Account
478b1fa7a8 Move umac/cmn_services/policy_mgr to components/cmn_services/policy_mgr
Change-Id: Ie67730cd3f1a249c3dcbb2b6eaf95a55cbd08306
2018-12-04 15:59:42 +05:30
Abhinav Kumar
862a3441de qcacmn: Possible Out of bound read in policy_mgr_get_channel_list
To prepare the channel list suggestion for a new connection,
policy_mgr_get_channel_list invokes policy_mgr_get_valid_chans to
get the number of valid channels. Driver uses returned num channel
and iterates channel list to divide the list into 2.4 & 5 GHz
lists. In case if, num of valid channel returned by
policy_mgr_get_valid_chans is greater than the maximum number of
channel supported in the channel list, QDF_MAX_NUM_CHAN(128),
possible OOB read occurs.

Validate the value of chan_index of channel list in
policy_mgr_get_channel_list against the maximum number of
channels supported in the channel list.

Change-Id: I6beb9231aaef491731557434d1ae210ac0bdb036
CRs-Fixed: 2346125
2018-11-07 21:17:43 -08:00
Yeshwanth Sriram Guntuka
2a4e082ad7 qcacmn: Reduce scan time when in GO+STA MCC
Scan on STA interface is taking around 10 secs to
complete. There is a 7secs expiry time used in nl
which could result in scan results received for
the first 3secs, which are from 2G channels, to
be flushed.

Fix is to not set offchannel simultaneous feature
capability, decrease the active dwell time for 2G
channels to 40msecs and increase burst duration
to 240msecs when GO is active.

Change-Id: If014b2115048018432943d863bbe184beb498408
CRs-Fixed: 2340516
2018-11-06 22:40:03 -08:00
Liangwei Dong
e85dfe6956 qcacmn: Add chan change HW mode change
Add policy_mgr_get_current_pref_hw_mode_dual_dbs
API for dual dbs HW. In Dual DBS mode HW, it
decides the actual DBS mode when DBS required.

Change-Id: Ic45b09fa49e1ff923f1a2dad50a3ce7e4007a3fd
CRs-Fixed: 2338105
2018-10-24 23:00:17 -07:00
Liangwei Dong
88ddf823c2 qcacmn: Add DBS to DBS switch for vdev Down
Add DBS to DBS switch in opportunistic timer
handler when vdev prioritization enabled.

Change-Id: I902316d7f64427bcadf1131cc0b822d23fc172fa
CRs-Fixed: 2338092
2018-10-24 14:40:12 -07:00
Liangwei Dong
dae31901cd qcacmn: Add original vdev info for NSS update API
Add original hw mode change request vdev id to
NSS update APIs, so that the correct vdev to be
used to do post processing after hw mode change,
such as doing connect for hidden SSID case.

Change-Id: Ie7f7b55a100ec4e23be2fc710d9b0d83cb33088d
CRs-Fixed: 2336439
2018-10-22 01:15:38 -04:00
Abhishek Singh
fef8741bd1 qcacmn: Select non SRD channel for SAP in STA+SAP
Currently the driver selects the first channel available
in the PCL channel-list which could be STA channel itself,
and it may happen that this STA channel is not valid for SAP
bringup(SRD).

Fix is to select a non SRD channel from PCL channel-list
for SAP.

Change-Id: Ia9d3bfc0534e28972a6ddb0d588b62a55e3f6e23
CRs-Fixed: 2308072
2018-10-19 13:09:58 -07:00
Krunal Soni
dd8bf40a44 qcacmn: Refactor operation related to gEnableStaConnectionIn5Ghz INI
Ownership of gEnableStaConnectionIn5Ghz is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: I894467bab4b0bddf309463802b98904ef1150536
2018-10-17 14:28:27 -07:00
Krunal Soni
c9af406975 qcacmn: Refactor operation related to gEnableMCCAdaptiveScheduler INI
Ownership of gEnableMCCAdaptiveScheduler is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: Ib86004c4ee753b37b392de69551c777e3e9011de
2018-10-17 14:28:25 -07:00
Krunal Soni
d4e542be30 qcacmn: Refactor operation related to DBS/vdev/channel selection INIs
Ownership of dbs_selection_policy, vdev_priority_list,
channel_select_logic_conc INIs' are changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: I8b38916d92931ef9cd1727481740bc61cad8f808
2018-10-17 14:28:22 -07:00
Krunal Soni
1c7a1e9cf0 qcacmn: Refactor operation related to INI gMaxConcurrentActiveSessions
Ownership of gMaxConcurrentActiveSessions is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: Iac1451fc457d9bceee73596affdae54895917040
2018-10-17 14:28:19 -07:00
Krunal Soni
6dd2208e93 qcacmn: Refactor operation related to INI gSystemPref
Ownership of gSystemPref is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: Ia586896ea55c6e71d8dcff705bf0e74879931dbb
2018-10-17 14:28:16 -07:00
Krunal Soni
d36b207ac4 qcacmn: Refactor operation related to INI gWlanMccToSccSwitchMode
Ownership of gWlanMccToSccSwitchMode is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.

CRs-Fixed: 2324395
Change-Id: Id8bdee52ebf83b1c8b3c8f9132a2fc74b28f42a0
2018-10-17 14:28:13 -07:00
Krunal Soni
42e98abae1 qcacmn: Add new INI/CFG infrastructure for Policy Manager
Policy Manager component needs to adopt a new INI/CFG
infrastructure

Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.

CRs-Fixed: 2324395
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
2018-10-17 14:28:11 -07:00
Varun Reddy Yeturu
af9e1da39e qcacmn: Make policy_mgr_set_pcl_for_existing_combo as public API
Make policy_mgr_set_pcl_for_existing_combo as public API
Move policy_mgr_pdev_set_pcl to policy manager internal header file

Change-Id: I6ef45fb34c4bc4bc0c07cad6f546a777922fde9d
CRs-Fixed: 2331254
2018-10-11 19:31:23 -07:00
Tushnim Bhattacharyya
1acaac7e94 qcacmn: Fix OOB in __policy_mgr_check_sta_ap_concurrent_ch_intf
Fix out of bound array access for operating_channel[] in
__policy_mgr_check_sta_ap_concurrent_ch_intf.

Change-Id: I3945d2fd5b1e3d02a9e827ba4a907b48b4170fd2
CRs-Fixed: 2329332
2018-10-09 14:43:13 -07:00
gaurank kathpalia
9ba5f5e9f9 qcacmn: Fix BSS scoring params
Currently the driver calculates the nss score
based upon the max capability of the AP, and not the
hw_mde config which would be there after connection
for example, the driver calculates the score for a
2x2 11n AP, and 1x1 VHT (11ac) AP, it connects to the
11n AP in 1x1 mode, if a concurrent connection is
present, which affects throughput

Fix is to check whether the current AP channel results
in DBS or not, if yes then change the NSS to 1 instead of
2

Change-Id: I80e2af00044b760325eb1a51b09a45189d58a417
CRs-Fixed: 2271976
2018-10-05 17:39:46 -07:00
Abhinav Kumar
93b3c7fdba qcacmn: Add SRD channel check in restart SAP
Currently the driver doesn't have a check to bring
up a SAP on STA SCC channel if its a SRD channel
and does force SCC on it, even if SRD master mode
is not supported.

Fix is to check the SRD ini before SAP bringup
on the STA channel.

Change-Id: I850d8b252afb20d9e4374e1fb4932d7ef17f3e51
CRs-Fixed: 2302742
2018-10-03 20:24:22 -07:00
Tushnim Bhattacharyya
89036a7c26 qcacmn: Protect sap restart work for driver unload
Protect sap restart work handler from SSR to avoid accessing
data structures which are freed already.

Change-Id: I75d2032b022aa68817ec102cbe65f635a627eb82
CRs-Fixed: 2325966
2018-10-02 13:48:35 -07:00
Varun Reddy Yeturu
31e789e40f qcacmn: Make policy_mgr_pdev_set_pcl as public API
Make policy_mgr_pdev_set_pcl as public API
Remove SET PCL for STA vdev from policy manager as it
is being done now from the roaming start cmd core
function which is csr_roam_offload_scan()

Change-Id: I3fc0eb4d37278a67a1f18579cec7d65e491bd967
CRs-Fixed: 2320734
2018-09-27 15:00:44 -07:00
Tushnim Bhattacharyya
c05a19115e qcacmn: Reduce log level in policy manager
Reduce log level from error to debug in
policy_mgr_convert_device_mode_to_qdf_type,
policy_mgr_get_qdf_mode_from_pm, policy_mgr_decr_active_session,
policy_mgr_decr_session_set_pcl.

Change-Id: I236c6770b87c5a4d4888cb6249aaf128b1cdcb8f
CRs-Fixed: 2317899
2018-09-19 09:59:54 -07:00
Krunal Soni
c54f1a6f2d qcacmn: Fix policy manager utfw API to delete all connection
policy_mgr_decr_connection_count_utfw() API is using
policy_mgr_psoc_enable() API to reset policy manager table as well
as timer deinit but it does more than resetting the table which causes
a stablity issue. For example, policy_mgr_psoc_enable() API calls to
reinitialization connection_update_done_evt event which triggers
stability issue as it has been already initialized once.

Purpose of delete all connection option is, to reset the policy
manager table, to reset any timers which can be achieved by
calling policy_mgr_psoc_disable() followed by policy_mgr_psoc_enable()

Change-Id: Ie3328e150ead99418ddd5025b42a2669e95e1553
CRs-Fixed: 2305419
2018-09-12 20:45:23 -07:00
Liangwei Dong
bd8b24bbcd qcacmn: allow STA SAP SCC on DFS
If sta_sap_scc_on_dfs_chan = 1, we
allow the SAP on STA's DFS chan.
Allow this for DBS chip as well.

Change-Id: I115984c0e659ca00f244d7b477daf4ccb3f2ccd2
CRs-Fixed: 2306801
2018-09-12 02:19:25 -07:00
Tushnim Bhattacharyya
5dd541e8f6 qcacmn: Fix NULL pointer dereference in policy manager
In policy_mgr_is_hw_sbs_capable wmi_handle is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: I6081bb6f24ce52a3016712d4f1b481f5fb6a9c8f
CRs-Fixed: 2305529
2018-09-05 23:55:49 -07:00
Liangwei Dong
ecbf113b55 qcacmn: Attach 2x2+1x1 action tables
Attach action tables with 2x2+1x1 DBS hw
modes, and select the table based on user
dbs preference INI setting.

Change-Id: If1fc79ce9a774fbf1ca08d09546679746ba1c4a3
CRs-Fixed: 2258919
2018-09-04 15:27:46 -07:00
Yeshwanth Sriram Guntuka
d540cd08dc qcacmn: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301926
2018-09-04 11:53:47 -07:00
Jianmin Zhu
687602cfb9 qcacmn: Add API for concurrency check to cover AP channel switch case
There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.

When channel switch, need recheck whether concurrency is allowed,
Store the connection's parameter and temporarily delete it
from the concurrency table. This way the allow concurrency
check can be used as though a new connection is coming up,
after check, restore the connection to concurrency table.

Change-Id: I66e262774de8dfeba56f9b6f3d1d6721f1748881
CRs-Fixed: 2299105
2018-08-27 16:43:22 -07:00
Jianmin Zhu
e1ebfd058d qcacmn: Enhance SAP concurrency check to cover AP channel switch case
SAP(Go) concurrency check is mainly used for two purposes:

1) When new GO/SAP session is coming up and needs to check if
this session's channel can co-exist with existing GO/SAP
sessions. For example, in case of single radio platform, MCC for
SAP/GO+SAP/GO is not supported, in such case this API should
prevent bringing the second connection.

2) There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.
such cases will be prevented with this API.

Add vdev_id check while checking for 2nd case. If connection with
given vdev_id exist then it is confirmed that it's a case of
channel switch rather than a new connection case.

Optimize the performance and readability of
policy_mgr_allow_sap_go_concurrency() API by re-organizing the
code blocks.

Change-Id: Idce5d2df7d21e36d2311946115a19482e4b81a8e
CRs-Fixed: 2299105
2018-08-27 16:43:20 -07:00
Liangwei Dong
065556ab01 qcacmn: Add 2x2_1x1 DBS action tables
Add action table for DBS 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G action tables.

Change-Id: Idadb223cde86729c0f2bbf0cdcc97d96d28c72ba
CRs-Fixed: 2258683
2018-08-27 08:53:34 -07:00
Liangwei Dong
1830013b3f qcacmn: Add 2x2+1x1 DBS Action type
Add new DBS Action types and handle
the Actions in policy_mgr_next_actions
API.

Change-Id: Iccc62303383c0701955446a172ed956d1aea0e0f
CRs-Fixed: 2257692
2018-08-27 08:53:31 -07:00
Bala Venkatesh
15ca8ea97a qcacmn: Re initialize default SAP mandatory channel list
Re initialize default SAP mandatory channel list as part of the
start bss. Without this change the 5GHz channels which were
added as part of previous start bss are valid for the current
start bss operation.

Change-Id: Id234b413bbddb05efd3af8c3349271bf93a0a3bd
CRs-Fixed: 2300501
2018-08-24 10:12:08 -07:00
jiad
0f192096cd qcacmn: Fix SAP-SAP concurrency when they are on single band
Currently SAP-SAP concurrency on same band support is indicated through
WMI service bit wmi_service_dual_beacon_on_single_mac_scc_support and
wmi_service_dual_beacon_on_single_mac_mcc_support. If SCC is supported,
channel of desirable SAP is checked against current available SAP
interfaces. If channel is different, the desirable SAP is disallowed.
Issue is that on DBS capable platforms, this will prevent second SAP
from doing DBS.

Fix is to check if desirable channel is equal to current SAP interfaces.
If equal, SAP-SAP SCC will be allowed. Otherwise fall back to DBS checks
and SCC/MCC on single band will be rejected if above two service bits
check failed or not supported.

Change-Id: I4bfbe5804003797e087bd0234b999cfe1eb4290a
CRs-Fixed: 2297756
2018-08-23 21:19:11 -07:00
jiad
0eaef9f038 qcacmn: Add SAP-SAP-SAP policy manager next actions
SAP-SAP-SAP next actions in policy manager are missing. Fix is to add
SAP-SAP-SAP next actions so that correct actions can be taken, such
as DBS mode can be enabled.

Change-Id: I347540d9aabf44ed59e7be8b695e87dd8d129aea
CRs-Fixed: 2297763
2018-08-23 15:25:45 -07:00
gaurank kathpalia
59d68afe2e qcacmn: Remove dual beacon MCC check from SCC check case
In the API policy_mgr_dual_beacon_on_single_mac_scc_capable
the check of wmi_service_dual_beacon_on_single_mac_mcc_support
is there too, which in any case is void, as if the driver supports
SCC, then it will return true from the first check itself,
and if it doesn't support SCC, it will surely not support MCC
too, so the check of MCC after SCC is void anyways

Fix is to remove the check of MCC dual beaconing capability from
policy_mgr_dual_beacon_on_single_mac_scc_capable

Change-Id: Ia427be4fcee0e0267171d81cf7e8e669560d20a9
CRs-Fixed: 2299182
2018-08-20 05:29:54 -07:00
Nirav Shah
18de9c1b54 qcacmn: umac: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I34ba6f6485f9b506264daf4e116052d2858bed40
CRs-Fixed: 2278876
2018-08-14 21:44:21 -07:00
Liangwei Dong
1a18faf9e8 qcacmn: Limit concurrency of STA(WAPI)
When STA role is coexisting with other sessions(P2P, SAP or IBSS),
WAPI encryption mode is not allowed.
Add a new API to check if the connection/start request should
be rejected when:
1) A STA with WAPI encryption is to be connected while there
   is at least one concurrent session already running.
2) A new session is to be started while there is already a STA
   connection with WAPI encryption enabled.

Change-Id: Idf0d346138eeda339254535f1f7131fda4a5086a
CRs-Fixed: 2290549
2018-08-09 06:38:46 -07:00
Tushnim Bhattacharyya
c304f8924d qcacmn: Do HW mode change based on all the candidate APs for STA
The driver currently changes the hw_mode based upon
the first candidate found in the scan list, and tries
to connect to it. It may happen that the connection
fails, and the STA then tries to connect to the AP
on same channel as the concurrent adapter.
It would result in hw_mode = DBS, as it is not
updated after  connection success/failure.
Also if the first AP channel is in same band as that
of concurrent adapter, and the connection fails,
and the STA tries to connect to an AP in a different
band, this too is not allowed as hw_mode is not DBS

Fix is to change the hw_mode based upon the scan list.
If the driver finds any scan result which may lead to
DBS connection, the hw_mode should be set to DBS.
Once the connection is done or failed, the driver
can check and update the hw_mode again.

Change-Id: I3c186f47dd5528f0af2598bb02c1b7e297d01548
CRs-Fixed: 2290760
2018-08-07 18:10:38 -07:00
Tushnim Bhattacharyya
2b083b6daa qcacmn: Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN
Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN option for the ini
gDualMacFeatureDisable. This is to enable DBS support for the
connection and disable simultaneous scan from upper layer. But DBS
scan remains enabled in FW.

Change-Id: Ic280de2cc63a3775c0d9dd61985ff89df58a4a89
CRs-Fixed: 2291935
2018-08-07 00:29:50 -07:00
Jeff Johnson
95bec5aa19 qcacmn: Remove struct extended_caps
struct extended_caps is unused, so remove it.

Change-Id: I96fd072b7d6b58a9c237165fcba7ed8c8da0eae3
CRs-Fixed: 2289156
2018-08-02 15:00:30 -07:00
Tushnim Bhattacharyya
0351f170cd qcacmn: Do not invoke get_pcl multiple times during set_pcl to FW
Do not invoke get_pcl when calculating weightage of channels sent to FW
as part of set_pcl WMI command.

Change-Id: I62b39aaf0943cf10deab380d8030d1ef08fbbcb3
CRs-Fixed: 2287649
2018-08-01 12:32:03 -07:00
Liangwei Dong
a590ecd80e qcacmn: Add Band selection for NSS Update API
Add parameter to NSS Update API to specify
which Band to downgrade/upgrade.

Change-Id: I57ae4304fbf8de366531154f03d04792c18e176d
CRs-Fixed: 2256803
2018-07-24 04:46:26 -07:00
Tushnim Bhattacharyya
c0817c6e73 qcacmn: Reduce DBS opportunistic timer value to 5 sec
Drop the timeout to 5 sec on hastings as it is a 2x2 DBS solution,
as IOT issues due to frequent 2x2 to 1x1 or 1x1 to 2x2 transition
can be avoided.

Change-Id: I67f9c97a7190baeadba79d709a8773b154932e76
CRs-Fixed: 2281954
2018-07-20 14:58:49 -07:00
gaurank kathpalia
bdffeb8d95 qcacmn: Fix channel selection in case of DFS in ACS algo
The driver includes the DFS channel in case of force SCC,
on 5GHz band, and rejects all 2.4Ghz band channels in the
ACS scan list in case of band_width > 40. The DFS SCC not
allowed till date prevents the SAP vdev up on that DFS channel,
hence the SAP turns on with default channel of 2.4 Ghz i.e
channel 1, because the ACS scan channel list didn't contain
any 2.4Ghz channel.

Fix is to include the 2.4Ghz channel list, and remove that DFS
channel in case the force SCC is enabled, and STA is already up
on that channel.

Change-Id: I1dc14d3890d8128e83910c2bed1cb95d7f70ea1c
CRs-Fixed: 2261802
2018-07-18 01:52:02 -07:00
Nirav Shah
226214bc25 qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.

Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
2018-07-13 10:36:22 -07:00
Liangwei Dong
9ace8a9dd9 qcacmn: Set hw mode Id to FW
Firmware needs HW MODE ID not list index.
Use HW mode ID to set HW MODE WMI command.

Change-Id: I12f9d83daee1c99706c345d85f03781257b492bf
CRs-Fixed: 2256175
2018-07-13 08:27:23 -07:00
bings
1d78ede2cd qcacmn: Skip DFS channels for SAP/GO when station exists
Currently DFS channels are skipped for SAP/GO in cds_get_channel_list
when ini g_sta_sap_scc_on_dfs_chan is configured as 0.

Refine the logic of DFS channels skipping when station exists. Do not
select DFS channels for SAP/GO when below cases are both satisfied.
1. Station exists.
2. Ini g_sta_sap_scc_on_dfs_chan is set as 0.

Change-Id: I2f082388a662d54968b3c2e95e5713eeffa1b131
CRs-Fixed: 2275724
2018-07-11 23:36:32 -07:00
Abhinav Kumar
77cb42a952 qcacmn: Fix high latency during BTM roaming
While processing the WMA_ROAM_OFFLOAD_SYNCH_IND event, The
driver takes nearly 150 to 200 msec time to just write fatal,
error and info messages to the kmsg log buffer. Also to get
tx power supplicant runs another thread while roaming. These
cause more latency(300ms) to send WMA_ROAM_OFFLOAD_SYNCH_CNF
message to fw. To decrease roam latency, the driver should
write the only necessary error message to kmsg buffer.

Fix is to change irrelevant fatal, error and info message type
to debug.

Change-Id: I521104c692eb42112ce2528c15d09785ff3470b6
CRs-Fixed: 2261592
2018-07-09 12:58:34 -07:00
Pragaspathi Thilagaraj
eabb08f066 qcacmn: Fix OOB read in iw_hdd_set_var_ints_getnone
From the IOCTL command WE_POLICY_MANAGER_PCL_CMD, we get the cds
concurrency mode as argument and pass it to cds_get_pcl to get
the pcl channel list. This concurrency mode parameter is used as
the array index to retrieve the enum cds_pcl_type. If this value
is greater than CDS_MAX_NUM_OF_MODE an OOB read will occur in
iw_hdd_set_var_ints_getnone.

Add check to validate the input cds mode argument against the macro
CDS_MAX_NUM_OF_MODE. Return error if it is violated.

Change-Id: I51073061be363d9680abf0566b77be7c7573d0fe
CRs-Fixed: 2233991
2018-07-09 07:03:07 -07:00
Liangwei Dong
e57b6b7417 qcacmn: Extract Hw mode Id and band info
Extract/Save the Hw mode ID and Mac0 band info
to hw mode list.
This helps to identify the 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G.

Change-Id: I0682337b1a80c1b502c3307e0847aaa99479d2d3
CRs-Fixed: 2256152
2018-07-09 07:03:04 -07:00
gaurank kathpalia
afa4e1b224 qcacmn: Fix hw mode change issue in case of DBS
The driver stops the oppurtunitistic timer for DBS, when
the start AP requests come, which results in HW mode stuck
in DBS if the next vdev start request comes on the same MAC
This further results in NSS = 1 for the MAC, hence throughput
decreases.

Fix is to set hw mode to single MAC in case the STA/SAP comes up
in the band/channel

Change-Id: I8ec4282c78594ee7e133a1e7768fa230bb2e8180
CRs-Fixed: 2273443
2018-07-06 03:19:19 -07:00