Commit Graph

278 Commits

Author SHA1 Message Date
Varun Reddy Yeturu
bbbbe237f9 qcacld-3.0: Enable compile time enable/disable for roaming
Enable compile time featurization support for both LFR2.0
and LFR3.0 using WLAN_FEATURE_HOST_ROAM and
WLAN_FEATURE_ROAM_OFFLOAD respectively

CRs-Fixed: 978905
Change-Id: Ib5976cd0cd5a6e117a1334bfc73a043e36e25f77
2016-04-17 18:10:33 -07:00
Varun Reddy Yeturu
4204eed710 qcacld-3.0: Isolate roaming timers into a separate file
Move all the roaming related timers into a separate file
for easy maintenance and management across different projects

CRs-Fixed: 978905
Change-Id: I3bdbf13d9f962af36d74837bf50be7c9a93e824e
2016-04-17 18:09:59 -07:00
Varun Reddy Yeturu
b6ef113b4b qcacld-3.0: Move the code related to sending roam frames to a separate file
Move the routines which help in building and sending the roaming
related management frames into a separate file for easy
maintenance across different projects

CRs-Fixed: 978905
Change-Id: If8e5cbdabef7747e58359961c3b13c577eb3b777
2016-04-17 18:09:54 -07:00
Varun Reddy Yeturu
99ff7f0b1a qcacld-3.0: Move Reassociation utils into a separate file
Move all the reassociation related utilities to a separate
file for easy maintenance across different projects

CRs-Fixed: 978905
Change-Id: I86809ac48659dc91222624fec616bab6533d75dd
2016-04-17 18:09:50 -07:00
Varun Reddy Yeturu
c3843188c5 qcacld-3.0: Move Host based roaming MLM code into a separate file
Separate the host based roaming MLM code into a separate file
to maintain it easily across different projects

CRs-Fixed: 978905
Change-Id: I1fad25ffbaa49bb2380c32ca9612ad46e3bca65c
2016-04-17 18:09:46 -07:00
Varun Reddy Yeturu
dbbb9919e9 qcacld-3.0: Isolate the pre-authentication code into a new file
Move all the pre-authentication related code in LIM to
a separate file so that it is feature specific and easy to
maintain across different projects

CRs-Fixed: 978905
Change-Id: I3ca443139b974b25be8121fd6df040d858693708
2016-04-17 18:09:42 -07:00
Varun Reddy Yeturu
32de0e4137 qcacld-3.0: Isolate roaming related timers
Create separate routines for all the host roaming related
timers and hence they can be compiled out if roaming feature
is not needed

CRs-Fixed: 978905
Change-Id: I29f99a075c72d877fc97f760449e3421ebd64916
2016-04-17 18:09:37 -07:00
Varun Reddy Yeturu
0e3989af45 qcacld-3.0: Remove WLAN_VOWIFI_DEBUG and cleanup logging
Feature WLAN_VOWIFI_DEBUG is not defined. Hence remove it.
Also cleanup the logging.

CRs-Fixed: 960105
Change-Id: I76d83d5d5c93aa7e4669a73c0d3300ed5b727bb1
2016-04-17 18:09:24 -07:00
Satish Singh
36ae57e9b4 Release 5.1.0.8G
Release 5.1.0.8G

Change-Id: I2fc70ba6ced542a8791254a18871c8d8fc1c4fe3
CRs-Fixed: 688141
2016-04-17 18:08:58 -07:00
Komal Seelam
4c2ed0798f qcacld-3.0: Clean up mlm states during heart beat failure
During Heart Beat failures, the mlm states are not cleared properly
which resulted in stability issues. Fix it by setting the mlm
states properly during heart beat failure.

Change-Id: Ib54a29758ad31fa95726a59a7118b11931b49970
CRs-Fixed: 967796
2016-04-17 18:08:17 -07:00
Srinivas Girigowda
515a9efb36 qcacld-3.0: Remove FEATURE_WLAN_ESE_UPLOAD compile macro
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach supporting ESE. Hence there is no need of two compile macros
FEATURE_WLAN_ESE and FEATURE_WLAN_ESE_UPLOAD.

Instead Remove FEATURE_WLAN_ESE_UPLOAD and Keep only FEATURE_WLAN_ESE.

Change-Id: If1a04e95211a0d639db7b60a57a6d5f215d26f4e
CRs-Fixed: 950762
2016-04-17 18:07:30 -07:00
Kiran Kumar Lokere
13644679a2 qcacld-3.0: Move the channel width enum to cds
Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver

Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
2016-04-17 18:06:59 -07:00
Amar Singhal
2299511d9f qcacld-3.0: Make regdomain code linux style
Fix the data structures of regdomain code; to make it linux style.

Change-Id: If8123370f4ce370adba1a49636b42449c2644144
CRs-Fixed: 961806
2016-04-17 18:05:45 -07:00
Naveen Rawat
3b6068c457 qcacld-3.0: Remove the file cds_regdomain_common.h
Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.

Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
2016-04-17 18:05:22 -07:00
Abhishek Singh
79e7750d56 qcacld-3.0: In case ADD STA fails, clear IBSS sta entry properly
qcacld-2.0 to qcacld-3.0 propagation.

If ADD STA fails for IBSS, sta entry is not cleared from dphHashTable
and gLimIbssPeerList. Thus if same IBSS peer tries to connect again
it fails to connect as driver assume that peer is already connected
as its entry is present in gLimIbssPeerList.

With this change IBSS sta entry is cleared in case ADD STA fails.

Change-Id: I6cc778cf74d91952dfd239d4ca62362b8e95467c
CRs-Fixed: 944480
2016-04-17 18:04:53 -07:00
Abhishek Singh
7d3bc3e500 qcacld-3.0: Retry Auth from host in case ack is not received for Auth
qcacld-2.0 to qcacld-3.0 propagation

In few APs with power save feature, if no STA is connected, the AP
does not respond to the Auth from STA, unless Auth is sent near to
the AP's CT window. With current implementation host does not
retry the auth and wait for the auth timeout to happen before
returning connect failure.

With this change Host will retry the Auth frame with interval of
3/5 * beacon interval, if no Ack is received for the frame,
until the auth timeout happens.

This increases the probability for the Auth to be received by AP near
to its beacon and thus initiate the connection.

CRs-Fixed: 816177
Change-Id: I51a6032f910b32eb91d67cb078e6434016ae8650
2016-04-17 18:04:38 -07:00
Krishna Kumaar Natarajan
062d054549 qcacld-3.0: Update dot11f.frms for new radio measurement types
Update dot11f.frms to decode LCI and Fine Time Measurement in
incoming Radio Measurement frames.

Currently we do not have these new types supported leading to
incorrect frame parsing. Adding these types make sure that
incoming radio measurement request frames are unpacked correctly.

Change-Id: I542bb2b782fed144702c372cbfc314c666c72f53
CRs-Fixed: 980863
2016-04-17 18:04:27 -07:00
Krunal Soni
0acfdcd696 qcacld-3.0: Fix incorrect struct assignment & HT-ie addition
Fix incorrect struct assignment while handling join request in
SME module.

Fix not to add HT ie in outgoing P2P action frames.

Change-Id: Ic49ca5ca3171be50a16a16281ae68edb35449605
CRs-Fixed: 985273
2016-04-17 18:02:01 -07:00
Satish Singh
7624902237 Release 5.1.0.7G
Release 5.1.0.7G

Change-Id: Ic169127937315b8f84983b656fbf97ff824234d7
CRs-Fixed: 688141
2016-04-17 18:00:44 -07:00
Krishna Kumaar Natarajan
db582ec0e0 qcacld-3.0: Fix incorrect argument type in lim_chk_assoc_req_parse_error
Fix incorrect argument type in lim_chk_assoc_req_parse_error function

Currently uint32_t is passed to the function but this function typecasts
it to uint8_t which results in losing 3 bytes of data. This lead to
incorrect parsing of Assoc request frame.

Change-Id: Ib55f7afa06972234d06edd12098e44608460a10d
CRs-Fixed: 987559
2016-04-17 17:55:30 -07:00
Chandrasekaran Manishekar
4fcb7f5feb qcacld-3.0: Fix enum mismatch while calculating regulatory class
Fix the enum value used while calculating the regulatory class
from the operating channel. Currently, the channel width is of
type 'enum ch_width' whereas the expected enum is of type
'offset_t'. Fixing the same by performing the enum conversion
before calculating the regulatory class to avoid incorrect
value of regulatory class.

Change-Id: I6aabb8ae78836e3c640f41b27e10830adc91a57e
CRs-Fixed: 986246
2016-04-17 17:54:53 -07:00
Chandrasekaran Manishekar
068e25eeb8 qcacld-3.0: Enable FEATURE_WLAN_MCC_TO_SCC_SWITCH flag in the driver
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path

Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
2016-04-17 17:54:28 -07:00
Houston Hoffman
575ff11540 Release 5.0.0.6G
Release 5.0.0.6G

Change-Id: Ia8f15633bf15406cd628d86f7c17c4b176bf67aa
CRs-Fixed: 688141
2016-04-17 17:50:19 -07:00
Sandeep Puligilla
2111d3c9b6 qcacld-3.0: SAP DFS-3 channel selection suppport for 80+80MHz/160MHz
Add support for setting channel width for CSA and modify the
SAP DFS channel width fallback algoritham to support DFS for
80+80Mhz and 160Mhz bandwidth. Also, compile out channel matrix
restriction from channel selection process after radar
indication is received for newer platforms and only compile
for older platforms

Change-Id: I771fc162b18aa1e485c513046a265b2d94612972
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Sandeep Puligilla
949eaa7aab qcacld-3.0: SAP DFS CAC Support in 80+80MHz mode
Add support to perform CAC when SAP comes up in 160MHz
or 80+80MHz with any of the 80MHz band is DFS band.

Change-Id: If24d6cd325f747934195598ffe0f456eea939026
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Archana Ramachandran
fec2481466 qcacld-3.0: Do not send SMPS force mode on dynamic antenna mode switch
When dynamic antenna selection requests to change the number of
TX/RX chains, the FW chain mask manager will take care of sending
the corresponding SMPS action frames to the AP to put the station
in 1x1 or 2x2 mode. The host driver should only handle setting
the right SMPS mode in the HT capabilities of association
or re-association requests.

CRs-Fixed: 931250
Change-Id: I9bedcc5024a98040f571f730ff084f6fe3e3ad00
2016-04-17 17:05:12 -07:00
Archana Ramachandran
20d2e23fca qcacld-3.0: Enable station SMPS only if the session supported NSS > 1
If HT SMPS is enabled and if the session supported NSS > 1
then include SMPS IE in the HT capabilities of the association
and the reassociation management frame.Enabling SMPS with an AP
whose capability is only 1x1 will result in association/reassociation
request being rejected or an unexpected behavior. Send SMPS force mode
to FW to trigger SMPS action frame only if SMPS is enabled in the
INI. For dynamic antenna switch, the chain mask manager will send
the SMPS action frames.

CRs-Fixed: 931250
Change-Id: Ifff2ef2c8790994a68e676b8bba2fb03c21370d4
2016-04-17 17:05:12 -07:00
Archana Ramachandran
a20ef8127d qcacld-3.0: Dynamic antenna selection request/response messages
Add support to request for antenna mode to FW to switch from
1x1 to 2x2 and vice versa dynamically and process the response
status of whether the request was sent successfully.

Change-Id: Ie4b0b36981423f9325c48c7ebad445d5cc1f2a21
CRs-Fixed: 931250
2016-04-17 17:05:12 -07:00
Archana Ramachandran
d41c3ed58c qcacld-3.0: Add interface files for dynamic antenna selection
Add interface files for dynamic antenna selection feature

CRs-Fixed: 931250
Change-Id: Ieafe368a25c3a69e32cd5de6822ef84130528096
2016-04-17 17:05:12 -07:00
Rajeev Kumar
8e3e283a82 qcacld-3.0: Add extended IBSS feature on qcacld-3.0
Add extended IBSS feature on qcacld-3.0

Change-Id: I7faaf646df363a74954defbef103afbb4b72af92
CRs-Fixed: 766181
2016-04-17 17:05:12 -07:00
Vishwajith Upendra
df1d46459b Release 5.1.0.5GG
Intermediate release to address cleanup proprietary
and old stale lines

Change-Id: Ie68c7f85ca0694ae5b54feb18e3a666982714ebb
CRs-Fixed: 688141
2016-04-13 22:52:05 -07:00
Komal Seelam
faad20feb2 Release 5.1.0.5G
Rebase of 5.0.0.165 onto 5.1.0.4G

Change-Id: I7813c88803d912feea91609960bd6ed642fd05d7
2016-04-13 21:51:26 -07:00
Peng Xu
66162de29e qcacld-3.0: Fix firmware assertion caused by vdev delete
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.

Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
2016-04-13 21:51:26 -07:00
Sandeep Puligilla
e087566368 qcacld-3.0: UMAC: Add support for 2.4Ghz HT40 STA
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
  and probe response.

Change-Id: I58e8d72b8ee922f710af0474ed3efd0438fff3a7
CRs-Fixed: 947086
2016-04-13 21:51:26 -07:00
Kiran Kumar Lokere
5899f43818 qcacld-3.0: Remove obsolete StaRateMode related code
Remove obsolete StaRateMode related functionality.

Change-Id: Id051d9081a68adfa8e32dd7960caff06fd9b677a
CRs-Fixed: 980689
2016-04-13 21:51:25 -07:00
Kiran Kumar Lokere
9a733a7fcc qcacld-3.0: Remove WLAN_FEATURE_11AC feature flag
Remove WLAN_FEATURE_11AC feature flag

Change-Id: I8c521502a44f2e8a0647843cd7a972497e900c17
CRs-Fixed: 980682
2016-04-13 21:51:25 -07:00
Amar Singhal
b8d4f1575c qcacld-3.0: Change channel nomenclature
Change channel nomenclature to more appropriate names.

Change-Id: If7fcd832a35563896534bab425ca05b528e1de93
CRs-Fixed: 856727
2016-04-13 21:51:25 -07:00
Amar Singhal
e4f28eedfd qcacld-3.0: Re-arrange regulatory code.
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.

Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
2016-04-13 21:51:25 -07:00
Govind Singh
a72a4e325d Release 5.1.0.4G
Rebase of 5.0.0.164 onto 5.1.0.3G

Change-Id: Ia080faea192c9da47bdf492535f2a42293a5ec17
CRs-Fixed: 688141
2016-04-13 21:51:25 -07:00
Gupta, Kapil
c68ad460fc qcacld-3.0: Add support for dense roam params
qcacld-2.0 to qcacld-3.0 propagation

In High dense environment roaming should be triggered early
at dense RSSI threshold which provide better throughput result.
Add support for dense roaming parameters to read from ini file
and send to FW with other roaming parameters

CRs-Fixed: 953579
Change-Id: Ia63bfdd1248b4507d988b019f07164a7c75566af
2016-04-13 21:51:24 -07:00
Naveen Rawat
2546093dca qcacld-3.0: Fix memory leak for lim preauth timers at driver unload
This is qcacld-2.0 to qcacld-3.0 propagation

Fix memory leak at driver unload by freeing memory for lim preauth
timers.

Change-Id: I7be177e6c475a8f8fdc4cc7d2744e34a4bf5dbf5
CRs-Fixed: 960617
2016-04-13 21:51:24 -07:00
Krunal Soni
99752a11b3 qcacld-3.0: Splits function lim_process_assoc_req_frame
Splits function lim_process_assoc_req_frame into smaller sub functions

Change-Id: Iaf21b0d157e910b740ac3288039465bac43507c4
CRs-Fixed: 824222
2016-04-13 21:51:24 -07:00
Naveen Rawat
6186ff9600 qcacld-3.0: Reindent lim_fill_assoc_ind_wapi_info
This patch fixes multi-level indentation for function
lim_fill_assoc_ind_wapi_info()

Change-Id: I438309425a82bb76c4c31d463b6cead7c661e27b
CRs-Fixed: 824222
2016-04-13 21:51:24 -07:00
Naveen Rawat
e6ddcaab1a qcacld-3.0: Proper mem allocation for lim, pre auth timers
This is qcacld-2.0 to qcacld-3.0 propagation.

Fix mem alloc for pre auth timer and add error handling for limInitMlm.

Currently number of preauth timer is taken as cfg param and memory is
allocated in bulk. In case the memory allocation fails, no error is
returned from limInitMlm, which causes undefined behavior. Also preauth
timers do not need contiguous memory allocation, so allocate an array of
pointers instead of single chunk for pre auth timers.

Change-Id: I92677aa9bb7970034630f4c6487fa9d196ccfb4c
CRs-Fixed: 955557
2016-04-13 21:51:24 -07:00
Sandeep Puligilla
fade9b7887 qcacld3.0: Remove condition to start BSS in HT20
SAP is always coming up in HT20 on 2.4Ghz band even though
hostapd configures HT40 mode.

Remove condition to start BSS only in HT20 for
2.4Ghz channels.

Change-Id: I1e4712ee49bbb079c81a2193e2130d2c846c865f
CRs-Fixed: 970396
2016-04-13 21:51:24 -07:00
Chandrasekaran, Manishekar
ce2172e9ed qcacld-3.0: Fix reason code used during Nss update request
Fix the reason code used during Nss update request. If
there is MCC upgrade or DBS downgrade, the hw mode change
request internally send the Nss update request. But, the
current implementation uses the same fixed reason code
during Nss update request and due to this on receiving the
hw mode change response, the expected callback function is
not getting invoked. Fix this by passing the right reason
code during Nss update request.

CRs-Fixed: 978663
Change-Id: I706cb9a86d66d8601ec87f560459604e562f6037
2016-04-13 21:51:23 -07:00
Krunal Soni
ee57247afe qcacld-3.0: Fix follow-up comments for csa changes in STA/CLI case
Move cdf/cds module related operation from
lim_handle_hw_mode_change_on_csa to cdf_handle_hw_mode_change_on_csa
to keep majority of cdf/cds operation in one place.

Change-Id: I5af9ee941f8430be49cf2e467f9eac77dc09dde4
CRs-Fixed: 972184
2016-04-13 21:51:23 -07:00
Chandrasekaran, Manishekar
5c19dc5f8e qcacld-3.0: Set hw mode during channel switch in STA/P2P-CLI case
Set the hw mode, if needed, during channel switch in STA and
P2P-CLI scenario. The STA/P2P-CLI on receiving the channel change
event may need to do a hw mode change to get the best out of the
hw capabilities.

e.g.1, In a STA+SAP concurrency, the STA and SAP are doing SCC on
channel 6. When the STA interface receives a channel event for
channel 36, it is better the driver moves to a DBS scenario.

e.g.2, In a STA+SAP concurrency, the STA is on channel 6 and the
SAP is on channel 36. When the STA interface receives a channel
event for channel 36, it is better the driver moves from a DBS
scenario to a SCC scenario.

For MCC upgrade, the following steps are taken
1. Opportunistic timer is started
2. vdev restart is initiated on the new channel
3. PM will check if MCC upgrade can be done on timer expiry

For DBS downgrade, the following steps are taken
1. PM will initiate HW mode change to DBS right away
2. vdev restart is initiated on the new channel

Change-Id: I202842bf28c3117e8cc91954cdfd3b39a0062f4e
CRs-Fixed: 972184
2016-04-13 21:51:23 -07:00
Satish Singh
107e6a36c1 Release 5.1.0.3G
Rebase of 5.0.0.163 onto 5.1.0.2G

Change-Id: If244ee2a2bc26a8b4387c89d7bce965c00497630
CRs-Fixed: 688141
2016-04-13 21:51:23 -07:00
Krishna Kumaar Natarajan
164e6b0c7b qcacld-3.0: Merge extended capability IE in beacon/probe resp template
qcacld-2.0 to qcacld-3.0 propagation.

Merge extended capability coming from hostapd and remove it from
extra IE before sending beacon/probe response template to firmware.

Change-Id: Iae50bbf1f70fd280f3366a89e58ad8f2c729720c
CRs-Fixed: 943078
2016-04-13 21:51:23 -07:00