Commit Graph

1831 Commits

Author SHA1 Message Date
Abhijit Pradhan
dc45ced7ba qcacmn: Fix DFS kernel panic
Panic:-
As part of component destory, DFS component resets ic member
But ic is deleted as part of MLME destroy before destorying
the DFS component.

Solution:-
Reset the ic variables before destroying the components.

Change-Id: I0b120b43b1f3e7d326876d9cf206f37f6ce74ce8
CRs-Fixed: 2060245
2017-06-19 12:43:27 -07:00
Abhishek Singh
af7e092d9a qcacmn: Fix connection failure with WEP AP
If AP was configured in WEP mode the scan module is not able to filter
the AP and thus connection fails.

Fix the logic due to which the AP was not filtered.

Change-Id: I03ee702875e867986e4bae635269a844914c8043
CRs-Fixed: 2057585
2017-06-19 00:45:55 -07:00
Ajit Pal Singh
c9f57df660 qcacmn: Move GO to STA channel to achieve SCC
Enable movement of GO to STA channel to achieve SCC.
This movement is controlled by the ini variable
"gWlanMccToSccSwitchMode" just as its done for SAP.

Change-Id: I50f9487aa26dfc359211699f3d46e7869cedca4b
CRs-Fixed: 2062450
2017-06-19 00:45:54 -07:00
Baila, Shashikala Prabhu
dea6948639 qcacmn: Fix regulatory sanity issues
FCC11_WORLD regdomain pair added for country MALAYSIA.

Change-Id: I2def0bf412acf99d1d0181db4d8b76633aa039a1
CRs-Fixed: 2057433
2017-06-18 23:30:12 -07:00
Baila, Shashikala Prabhu
6b89e77b3f qcacmn: Regulatory database updates
Update regdomain database to "Country Table Changes Submitted 2016-10-31"
regdomain spreadsheet. It includes the following changes:

* Create new regdomain APL16_World and assign it to Argentina.
* Assign APL15_WORLD to BAHRAIN and INDIA

Change-Id: I31241847f224402bc7f125b3ed64a12ebf76242c
CRs-Fixed: 2058078
2017-06-18 23:30:11 -07:00
Nitesh Shah
ca919bd184 qcacmn: Validate mode and vdev while decrementing session
The function policy_mgr_decr_active_session() decrements mode
and then remove the session from the pm_conn_connection_info
table after validating vdev.

This change adds a check to validate if the session is present
with specific mode and vdev_id, and then decrement the session.
If not present, then return without doing any change.

Change-Id: If53d7fc9356b2c3bb72b22b228103389396910ce
CRs-Fixed: 2057599
2017-06-15 03:55:01 -07:00
Nitesh Shah
b256bb0e81 qcacmn: Add support to send DBS Scan command to firmware
This change adds support to send the DBS Scan command to
the firmware.

Change-Id: I147855690f09af03a43f85f2e57626d7f73998de
CRs-Fixed: 2029402
2017-06-14 08:23:51 -07:00
Tushnim Bhattacharyya
4b70998fcb qcacmn: Restart SAP with CSA/ECSA when gWlanMccToSccSwitchMod=3
Restart SAP with CSA/ECSA when ini variable gWlanMccToSccSwitchMod=3.
Currently ini variable setting gWlanMccToSccSwitchMod=2 was
causing SAP to restart with CSA.
Change-Id: I9a4b68cd154fa63325d146510832c2410f2dc244
CRs-Fixed: 2058567
2017-06-14 03:21:22 -07:00
Vivek
1312d700b5 qcacmn: Add debug prints when logically deleting an object
Add prints for all the references held by the components,
for an object, when the object is logically deleted.

The prints will be enabled only when the log
level is set to Debug.

Change-Id: If0a5b97a5e250fe1e5058611026c3c7ae8500359
CRs-Fixed: 2059750
2017-06-14 00:58:29 -07:00
Krunal Soni
95538ddc26 Revert "qcacmn: Provide Rx LDPC support for 2G STA"
This reverts change-id: Ib0183fea06619056c61e297d3fcfd82d91775dcd.

CRs-Fixed: 2046542
Change-Id: I558d2d78683133fbd8ab97260aa484a997bd3e7e
2017-06-12 12:41:42 -07:00
Om Prakash Tripathi
62d0380257 qcacmn: Add flush callback for scan module
Components are required to provide flush callback to scheduler which
gets invoked for all pending commands in scheduler queue when scheduler
thread is going down.
Added flush callback for scan so that command cleanup can be done.

Change-Id: I990a5e14db1498e13a2eeeaa605b44593b8442f1
CRs-Fixed: 2056542
2017-06-10 23:00:27 -07:00
Vivek
9e4783cd41 qcacmn: Assert when regsiterng second handler for objects create/destroy
Assert when there is a second registration for any of the psoc
pdev vdev  & peer create/destroy handlers.

As seen in IR-224607, where there was a second registration
for psoc create handler which failed,
and the first one was already stored in psoc object,
and when psoc was trying to
call the first  handler we see crash.

Change-Id: I7534c7cf2fb9d86329938dcf080362bc719ab582
CRs-Fixed: 2053892
2017-06-10 21:35:51 -07:00
Abhijit Pradhan
7dc39001a5 qcacmn: Avoid using "ic_" prefix in common component code
In DFS component the prefix "ic_ " was being used to represent ieee80211
channel related variables. Now  use prefix "dfs_ch_" instead of "ic_".

Change-Id: I2f739dc22ad89b7e410c06462876a22c2a615883
CRs-Fixed: 2056957
2017-06-10 03:28:24 -07:00
Dustin Brown
f3351d97d7 qcacmn: Expose scan_backoff_multiplier for NLO/PNO
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.

Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
2017-06-09 21:36:26 -07:00
Amar Singhal
2e55c111a8 qcacmn: Implement 11d state machine
Regulatory component needs to listen to vdev messages in order to track
whether a master mode vdev is getting created or destroyed. It is also
used to kick-start the state machine. Also re-run the state machine when
user-space country code is set.

Change-Id: I5112396314a936f84dad2f0e07329f9cb237aa78
CRs-Fixed: 2048784
2017-06-08 13:46:53 -07:00
Kiran Kumar Lokere
82c8645b38 qcacmn: Add support for 11d FW commands and events
Add support to send 11d scan start and stop commands to FW and
process the 11d new country update event from FW.

Change-Id: I5c1588cfb5af672cdb5738784de1bd0b83bdbe77
CRs-Fixed: 2048784
2017-06-08 13:46:51 -07:00
Kiran Kumar Lokere
4c7ead0ab6 qcacmn: Restore the wlan_reg_get_current_chan_list api
Restore the wlan_reg_get_current_chan_list public service
api.

Change-Id: I3a29b4b4ce50bc2cf10484faf834cc9765eb1167
CRs-Fixed: 2048784
2017-06-08 13:46:50 -07:00
Nitesh Shah
7c56c2335e qcacmn: Provide Rx LDPC support for 2G STA
Currently Rx LDPC is disabled for STA(2G) connection due to
PHY-B hardware limitation. PHY-A can still support RxLDPC, so
make changes such a way that when ever STA is on 2G band and
current hardware mode is non-dbs then enable the Rx LDPC and if
STA is on 2G band and current hardware mode is dbs then disable the
RX LDPC.

Change-Id: Ib0183fea06619056c61e297d3fcfd82d91775dcd
CRs-Fixed: 2046542
2017-06-08 11:34:40 -07:00
Sandeep Puligilla
d9ac9a2abe qcacmn: Increase scan cancel sync time
Scan command timeout value is 30secs and scan
cancel sync waiting time is 5sec due to this
in failure scenario scan timeout callback is
getting triggered very late and causing crash
in HDD.

Increase scan cancel sync timeout value equal to
scan command timeout value.

Change-Id: I7b98d26ac5d97039714a431030e47c463d3a670e
CRs-Fixed: 2048167
2017-06-06 10:26:18 -07:00
Vivek
2c86b213c6 qcacmn: Replacing qdf_print with QDF_TRACE
Replace all object manager qdf_prints with obj_mgr_err/obj_mgr_info
based on QDF_TRACE with the right log levels.

Added additional debug information like
Pdev_id
Vdev id
Peer MAC address

Change-Id: I96d96182176d332b9fbdb202305d29c08ddc0d18
CRs-Fixed: 2026537
2017-06-06 01:26:00 -07:00
Sathish Kumar
c6cd8dc07d qcacmn: Add API to check if HT rates is allowed
Add API to check if HT rates are allowed based on the cipher and mode

Change-Id: I7a24dcaf82f92abf9e9d6c7d7bbd3818e955c330
CRs-Fixed: 2053603
2017-06-05 11:41:41 -07:00
Ajit Pal Singh
8c63d04d3b qcacmn: Add vdev-mlme caps MASK for restrict_offchannel
Adds new vdev-mlme caps mask WLAN_VDEV_C_RESTRICT_OFFCHAN for
tracking restrict offchannel setting.
When this bit is set any operations which can cause the AP/GO
to leave the operating channel are avoided.

Also reads vdev-mlme caps:WLAN_VDEV_C_RESTRICT_OFFCHAN in function
policy_mgr_is_dnsc_set() to determine if Do_Not_Switch_Channel
is enabled.
Moves declaration of policy_mgr_is_dnsc_set() to
wlan_policy_mgr_api.h so that it can be used outside of policy manager.

Change-Id: I53013af5f4c72917f862630e63333951ec75ce8c
CRs-Fixed: 2050999
2017-06-05 11:41:36 -07:00
Naveen Rawat
7c3c746398 qcacmn: Handle CIR/CFR capture in WMI_OEM_RESPONSE_EVENT
Add handling of indirect data in WMI_OEM_RESPONSE_EVENTID.
This data then needs to be sent to userspace app.

Change-Id: Id1661f23ff000b33da9640cc44ea7be25e9f8dc0
CRs-Fixed: 2053958
2017-06-02 14:47:31 -07:00
Naveen Rawat
ba24c486a3 qcacmn: Initialize DMA rings using hal_srng APIs
Initialize DMA rings for CIR/CFR capture and program them
to firmware.

Change-Id: I41c32cddc3fc0f7f0a972bf69ecbacfc9f0626f7
CRs-Fixed: 2053958
2017-06-02 14:47:29 -07:00
Wu Gao
56e84390e2 qcacmn: support presence request
Support presence request frame in P2P component.

Change-Id: I21c1e63742396f328da1b2c7b2446abc4c35ef52
CRs-Fixed: 2039628
2017-06-02 14:47:26 -07:00
Wu Gao
47f49f9362 qcacmn: Support category vendor specific frame
Remove action frame type of presence response since parse incorrect,
Support category vendor specific action frame.

Change-Id: I7c75ed91dc14496d682cd9ce2065589271a1b71b
CRs-Fixed: 2039615
2017-06-02 14:47:25 -07:00
Dustin Brown
3c777ef4d2 qcacmn: Expose full hardware filter capabilities via WMI
The WMI API exposes the broadcast hardware filter. Modify the WMI API
to expose all of the supported modes of the hardware filter.

Change-Id: I185b149f4d1ad38692d8ff5810acd52bf84565b2
CRs-Fixed: 2040419
2017-06-01 12:32:20 -07:00
Baila, Shashikala Prabhu
bc3efea885 qcacmn: Add API to get 2GHz/5GHz freq range and wireless modes
Offload layer uses low and high 2GHz/5GHz freq ranges and chip
supported wireless modes to populate umac ic channel list.

Change-Id: I899edd83548d68e67659b3a9273ddaaaf740540b
CRs-Fixed: 2047212
2017-05-31 01:03:11 -07:00
Baila, Shashikala Prabhu
4881d6d543 qcacmn: Fix setcountry code and getcountry code failure
offload_enabled flag is set to true for full-offload.
Currently full-offload is using HOST regdb, therefore set
country code and get country is failing.

Change-Id: Idd3a7300bcc1ec1934e7258c87d5bd989ecaf5bf
CRs-Fixed: 2047212
2017-05-31 01:03:05 -07:00
Srinivas Pitla
5bdb69bd91 qcacmn: Avoid deadlock with pdev lock
The locks have to be taken by the caller. Handling inside
inline APIs are causing deadlock in few paths due to order of the locks.

With these locks the order is missing.

PDEV lock should be taken prior to vdev lock, and psoc lock should be taken
before taking pdev lock, same for peer and vdev locks also. taking the locks
other order would cause deadlock

Change-Id: I23d83329a0752981974726454d9e1bc1cfd1398f
CRs-Fixed: 2022458
2017-05-30 17:31:18 -07:00
Ravi Kumar Bokka
9aa049efcc qcacmn: add set packet filter
Add PMO changes for set packet filter.

Change-Id: I13c4bfe9607b90bd5cd04602448998db9bc66364
CRs-Fixed: 2034458
2017-05-30 17:31:15 -07:00
Nitesh Shah
1763abada0 qcacmn: Avoid race condition while modifying connection list
In case of STA-AP case, new thread is created to call the func
policy_mgr_check_sta_ap_concurrent_ch_intf() that calls
policy_mgr_get_pcl_for_existing_conn() that modifies
pm_conc_connection_list table. The mc_thread calls
policy_mgr_get_valid_chan_weights() that also modifies
pm_conc_connection_list table. But the race condition is
created that mess up the pm_conc_connection_list table.

This race condition also leads to the scenario where the STA
connection to the AP is not updated properly . This shall lead
to the improper PCL update for a STA+SAP concurrency and thus
the channel switch fails.

The fix is to protect the whole sequence of the function
policy_mgr_check_sta_ap_concurrent_ch_intf() with mutex to avoid
race condition.

Change-Id: Ibb6d804afa70ef45d99e7ec9fc7fecc4993c7621
CRs-Fixed: 2047765
2017-05-26 19:20:46 -07:00
Naveen Rawat
44cf05f6c8 qcacmn: Parse service ready ext event for WIFI_POS DMA rings cap
Parse service ready extension event to get DMA ring capability requested by
firmware to enable CIR/CFR capture. This cap is then saved in WIFI_POS psoc
private object.

Change-Id: I6f6958250af06ac69b627d2f06e120955d625c62
CRs-Fixed: 2040688
2017-05-26 08:38:21 -07:00
Vikrampal
f1e9389791 qcacmn: Handle multiple H/w DBS modes
Host handling enhanced in case of F/w advertising multiple DBS H/w modes

Change-Id: I90dfd9360df60be126dbfa8add30d38aeb6f7bf1
CRs-Fixed: 2048301
2017-05-26 06:20:28 -07:00
Subrat Mishra
5bdc4b3014 qcacmn: Fix vdev set ssid
Modified to accept ssid of length 32 characters for vdev.
It was taking only 31 characters.

Change-Id: I98c54b23b1c7d70546a548979cef6a1af9ddb064
CRs-Fixed: 2049607
2017-05-22 17:05:24 -07:00
Baila, Shashikala Prabhu
4140c76598 qcacmn: Fix regdb compilation error
Compiler does not allow very large local variable/array.
Error: 'the frame size of 1512 bytes is larger than 1190 bytes'

Change-Id: Ic74543c25fcb46596d49e9c0bb60f1f3c6f3f16c
CRs-Fixed: 2047212
2017-05-22 09:00:13 -07:00
Author: Neil Zhao
5ad91c1a6f qcacmn: part of FR 38654 splitmac(umac converge)
1) WLAN driver doesn’t response to management frames.
e.g. associate request.
2) WLAN controller will process and send response to AP,
AP sends response to WIFI client.
Modified hostapd is used for testing purpose.
3) WLAN controller calls splitmac API(add_client) to
add WIFI client using specified info e.g. rates etc. on AP.
4) Do the rest init, e.g. EAPOL exchanges.

Change-Id: I688c598b6b879a1ab5f21457e299c47ccede79b0
CRs-Fixed: 2034582
2017-05-19 17:39:40 -07:00
Abhishek Singh
9f6058d24d qcacmn: Add support for PMO suspend and resume scan API
Register PMO suspend and resume scan API. In suspend API, abort
all pending scans.

Change-Id: Iec03383a958f1bf93d77a86c351532270c7fdcb8
CRs-Fixed: 2038163
2017-05-19 13:51:42 -07:00
Sandeep Puligilla
140c41ee36 qcacmn: Register scan rule callback with serialization
Register Scan rule callback API with the serialization module.

Change-Id: Ie578413a13bc7adcac0ed2a56d9574ad00b7e51c
CRs-Fixed: 2037248
2017-05-19 05:27:19 -07:00
Amar Singhal
90ae139bc4 qcacmn: Add callback for dynamic changes to current channel list
For dynamic master channel list, compute per pdev current channel
list as well. Provide API for user to register callback to be called
whenever current channel list for a pdev changes.

CRs-Fixed: 2012415
Change-Id: Ie86a719306178a1c3579c2b534a52a12ec3e0b1d
2017-05-18 13:42:24 -07:00
Amar Singhal
02771a0b9a qcacmn: Put structure to dynamic channel management
The current channel list maintained per pdev can be modified from
multiple entry points. Define a generic framework to compute the
new current channel list. This helps in isolating the current
channel list computation.

Change-Id: Id5eb1bb6b66ba50c90387bdc76bb95497945a5a8
CRs-Fixed: 2012415
2017-05-18 13:42:23 -07:00
Kiran Kumar Lokere
a843634983 qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Kiran Kumar Lokere
a42244ef4d qcacmn: Add support for regulatory component ucfg APIs
Add regulatory component ucfg apis to provide user configuration

Change-Id: I870563da5dea64a9dc95055710e3325c6806a60a
CRs-Fixed: 2012415
2017-05-18 13:42:20 -07:00
Kabilan Kannan
ac7731fc62 qcacmn: Fix TDLS set state cmd sequence for roaming
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence during roaming and induce
crash in the system.
Send the TDLS set state cmd with correct sequence.

Change-Id: Ie106b8a8cebaa7f107c9eff67dda924b231162da
CRs-Fixed: 2048036
2017-05-17 21:07:33 -07:00
Linux Build Service Account
4bd3efcdb7 Merge "qcacmn: Extract pdev id from vdev id received in WMI_CHAN_INFO_EVENTID" 2017-05-17 07:51:31 -07:00
Anish Nataraj
9f07b47498 qcacmn: Check max scan allowed through API from scan component
Scan component provides API to check maximum scan
allowed. Replace all MAX_SCAN macros with API

Change-Id: I094b61978af015e5800784b90340e39aae94e7ba
CRs-Fixed: 2033852
2017-05-16 22:08:05 -07:00
Edayilliam Jayadev
642201f048 qcacmn: Converge the Spectral feature
Add Spectral TxOps and RxOps interfaces in
psoc towards converging the Spectral feature.

CRs-Fixed: 2028657
Change-Id: If5b46fb9d71529060df6e5b242fcc8976fce82f8
2017-05-16 22:08:04 -07:00
Ashok Ponnaiah
d3bf53a660 qcacmn: Remove unwanted vdev lock
Remove unwanted vdev lock before peer search.

Change-Id: I1ce7a38570cf41ea2155be350f1df0ff5ac56807
2017-05-16 22:08:02 -07:00
Ashok Ponnaiah
c204940877 qcacmn: Remove unwanted vdev_unlock
Removed unwanted vdev_unlock, which doesn't have
respective lock function.

Change-Id: I625d25c55dce382cf549590d88e11487b965b5bf
2017-05-16 22:08:01 -07:00
Baila, Shashikala Prabhu
43ee7b0343 qcacmn: DFS: Get DFS domain from regulatory component
Get the dfs domain from reg component instead of using it from
offload or lmac layer.

Change-Id: I3007ac483c44723b13a0af22df6eb56deac4c7ed
CRs-Fixed: 2047212
2017-05-16 07:26:53 -07:00