Commit Graph

12542 Commits

Author SHA1 Message Date
Yuanyuan Liu
1373850b01 qcacld-3.0: HDD: Use PLD APIs (Part 2)
Replace CNSS/ICNSS APIs with PLD APIs for PCIE/SNOC.
SDIO/USB changes need to be done separately by adding
SDIO/USB support in PLD

Change-Id: I0d2446e57922254369b7e7ca69d900006f7a7e28
CRs-Fixed: 1000113
2016-05-23 11:46:06 -07:00
Yuanyuan Liu
0e0aa93d32 qcacld-3.0: Use PLD APIs
Replace CNSS/ICNSS APIs with PLD APIs.

Change-Id: Ic0be1ff00dd7b4fc0b125e625f5d3977f4580c5e
CRs-Fixed: 1014363
2016-05-23 11:45:57 -07:00
Yuanyuan Liu
d416dbd274 qcacld-3.0: Remove platform dependency for crypto
Use OS standard crypto APIs instead of platform wrapper APIs.

CRs-Fixed: 1014363
Change-Id: I359b50890ec757c294cac405b46881b44881e8c8
2016-05-23 11:45:52 -07:00
Yuanyuan Liu
eaa6b6ef56 qcacld-3.0: BMI: Use PLD APIs
PLD is a interface between CLD and CNSS/ICNSS. It hides
CNSS/ICNSS APIs from CLD and provides a set of common APIs.
CLD modules should use these PLD APIs instead of calling
CNSS/ICNSS platform APIs.
Replace all CNSS/ICNSS APIs with PLD APIs in BMI.

CRs-Fixed: 1013853
Change-Id: I1e244ec9f9fd604a9b231b6ff1085f7b6b4bab22
2016-05-23 11:43:53 -07:00
Vishwajith Upendra
7f17ee7515 Release 5.1.0.9
Release 5.1.0.9

Change-Id: I41569dd88864ae943b6b3c777be582c698440cdd
CRs-Fixed: 688141
2016-05-20 17:13:10 -07:00
Houston Hoffman
fff7b2333b qcacld-3.0: Use hif_hw_version for chip versions
Remove duplicate chip version #defines.

Change-Id: Ic869aefb0949eb03b9b359f35810e1ba43a19d80
CRs-Fixed: 1012824
2016-05-19 11:05:08 -07:00
Akash Patel
91edc816eb Release 5.1.0.8
Release 5.1.0.8

Change-Id: I4b7992267b8fc832bf42ea3d10bd18c6d028b371
CRs-Fixed: 688141
2016-05-18 16:35:15 -07:00
Mohit Khanna
043efbd6ae qcacld-3.0: Fix race condition between tx traffic and peer deletion
A race condition has been observed between outgoing TX traffic and
peer deletion when DUT has concurrent SAP(DBS) and STA sessions in 5G
and 2G respectively and the peer connected to SAP moves away triggering
peer deletion at DUT. Due to peer being deleted, the vdev corresponding
to the peer is void which results in a crash in ol_tx_data function
while trying to send Tx data.

Fix crash by checking for a null vdev in ol_tx_data.

CRs-Fixed: 1012681
Change-Id: Id0aab4b1f03ed24dfb55e09fa1a115edfdfcce84
2016-05-18 16:35:10 -07:00
Nirav Shah
9bf81570ab qcacld-3.0: Free body of message in deferred queue during unload
Free body pointer of messages pending in deferred
queue during driver unload to avoid memory leak.

Change-Id: I73e0e3f675728aa653c2c4f5d2291c260b339987
CRs-Fixed: 1003001
2016-05-18 16:34:00 -07:00
Nirav Shah
ed34b21226 qcacld-3.0: Dynamically allocate hdd_txrx_hist
qcacld-2.0 to qcacld-3.0 propagation.

Dynamically allocate hdd_txrx_hist to reduce size
of HDD context and avoid order 4 memory allocation
from kernel.

Change-Id: I04dd8f3cdb7f401fb761262bd34b0a2177f6097f
CRs-Fixed: 950790
2016-05-18 16:33:54 -07:00
Nirav Shah
9591970720 qcacld-3.0: Do not allocate large chunk of memory for rx hash
qcacld-2.0 to qcacld-3.0 propagation.
Do not allocate single large chunk of memory for rx hash
to avoid memory allocation failure. This change uses array
of pointers to reduce single large chunck of allocation.

Change-Id: I2aa7239be924b63c87f1044a74176a101d952108
CRs-Fixed: 954302
2016-05-18 16:33:49 -07:00
Nirav Shah
76291969a5 qcacld-3.0: Add logic in host to detect msdu_id duplication
Add logic in host to detect if host is using
musdu_id which is already in use.

CRs-Fixed: 929428
Change-Id: I10413ed4b5b76e16211aa0cbb9012cfb8f26cae0
2016-05-18 16:33:43 -07:00
Nirav Shah
617cff9d7f qcacld-3.0: Add logic to log pause/unpause time
Add logic to calculate pause and unpause time for
network queues to debug data path issues.

Change-Id: I825b10837d999384a91ca3c2271e472a71fd8863
CRs-Fixed: 999861
2016-05-18 16:33:38 -07:00
Nirav Shah
6a4eee661c qcacld-3.0: Add histogram for MSDUs per RX indication
Add histogram for MSDUs per HTT RX indication
message and update drop counters in RX path.

Change-Id: Ia861f6cd3d6a91f01a07f9bc4e2bc3afcf62c8f2
CRs-Fixed: 999861
2016-05-18 16:33:32 -07:00
Govind Singh
9db91ba92c qcacld-3.0: Add target bus type field in qdf context
Add target bus type field in qdf context, as bus type
needs to accessed at multiple layer.

Change-Id: I62b23d68743fedf205bb3859c0de50568ca09b7a
CRs-Fixed: 1009993
2016-05-18 16:33:28 -07:00
Manikandan Mohan
80dea79636 qcacld-3.0: Add WISA feature handling
Add support to enable WISA feature using QCA_NL80211_VENDOR_SUBCMD_WISA
and do scan blocking on WISA mode interface.

Change-Id: Ief105310fb71779b1a8c1d580408a489cad9977e
CRs-fixed: 997798
2016-05-18 16:33:19 -07:00
Varun Reddy Yeturu
5ab4746bc5 qcacld-3.0: LFR3: Store the last roam synch delay
1) Store the last roam synch delay incurred for the most
latest roaming instance.
2) Provide an ioctl "iwpriv wlan0 hostroamdelay" to fetch
the delay

CRs-Fixed: 1012891
Change-Id: Ibbfb8d17e68dcd84ca645ec3bccf25fd84acaa18
2016-05-18 16:32:00 -07:00
Varun Reddy Yeturu
e058ed35eb qcacld-3.0: Remove csr_neighbor_roam_prepare_non_occupied_channel_list
Remove unused routine
csr_neighbor_roam_prepare_non_occupied_channel_list

CRs-Fixed: 1007810
Change-Id: I072f08b179c87d3c182ae6577ac17e74b3862fce
2016-05-18 16:31:55 -07:00
Varun Reddy Yeturu
d1ecb4b070 qcacld-3.0: Remove csr_get_current_ap_rssi
Remove csr_get_current_ap_rssi which is not used

CRs-Fixed: 1007810
Change-Id: I2b9f82f64d2cd038abd61a0087886724daa19424
2016-05-18 16:31:51 -07:00
Varun Reddy Yeturu
5a1985a9f2 qcacld-3.0: Remove csr_neighbor_roam_offload_update_preauth_list
Remove csr_neighbor_roam_offload_update_preauth_list which is
unused currently after roam synch propagation optimization for
LFR3.0 has been done.

CRs-Fixed: 1007810
Change-Id: Icc8ef8a882813d980f05314cf07a379e607323ad
2016-05-18 16:31:47 -07:00
Varun Reddy Yeturu
5edadcc960 qcacld-3.0: Remove unused code of sending probe req template
Remove unused code of sending probe request template to
firmware which is a legacy code where Scan was not
completely offloaded to firmware.

CRs-Fixed: 1007810
Change-Id: I8c876bdb696f70452354f5f84b504b4a6564c479
2016-05-18 16:31:43 -07:00
Manikandan Mohan
5b1980ac9d qcacld-3.0: Send Auto shutdown cancel event
qcacld-2.0 to qcacld-3.0 propagation

Auto Shutdown cancel indication is needed to identify if a
driver is active in multi wlan radio platforms. Userspace
application processing auto shutdown event combines these events
from multiple drivers to arrive at system idle condition for
auto shutdown.

Change-Id: Icc51386bde58d3882e36ab09cd31a527b140a937
CRs-fixed: 1001128
2016-05-18 16:31:32 -07:00
Manjunathappa Prakash
ef45abaa6e qcacld-3.0: Fix lro dereg crash on driver unload
If lro_disable is called after  cds_close, which is the case
for module unloads, then many of the pointers used in dereg
sequence are NULL (CE_state, hif, txrx_pdev). There is a case,
when interfaces are removed, when these pointers are there.
Check pointers before using them in dereg code.
Update hif_map_service_to_pipe so that it will return E_INVAL if
the service is not in the table. Add logs for cases where either
leg information is not updated on return.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: I5b88a297134dcc1d7a6a68dd2a9879dfd1553a7e
CRs-Fixed: 1014428
2016-05-18 16:09:48 -07:00
Prakash Manjunathappa
0c45f699e9 qcacld-3.0: Shrink ol_txrx_stats_tso_info
The structure is taking too much of a space and pre-alloc was
failing for a single allocation for ol_txrx_pdev. Shrunk the
structure from 112 KB to 12 KB.
This update has a corresponding update in qcacmn.

Change-Id: I358e74b47165fa08cb5d37f095b44bff3f83fdfc
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-fixed: 1012346
2016-05-13 16:20:44 -07:00
Prakash Manjunathappa
6dc1a9658a qcacld-3.0: Fix crash on WMA path
During a recent merge, a frame type was being set to a similar
looking value (ol_tx_spec_no_free instead of ol_tx_frm_no_free) and
this is causing crashes on tx-completion.
Also capitalize the constants.
This is a stability CR.

Change-Id: Ic86dafc5baa80ae634c5267794f3add0e06d076f
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-fixed: 1010581
2016-05-13 16:20:43 -07:00
Prakash Manjunathappa
d3ccca2545 qcacld-3.0: Remove extra ticks-to-msec conversion
qdf_wait_single_event expects msecs as the timeout value.
However, two references in dp, second of which is this instance,
passes the value in ticks. This causes the value to be converted
to msecs a second time by the function and hence an incorrect
timeout value.
The other instance is in the qcacmn project.

Change-Id: I11c36ecf54b04cf1e3671a86594822b39b8ccaaf
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-fixed: 1012345
2016-05-13 16:20:43 -07:00
Rajeev Kumar
e871734de8 qcacld-3.0: De-serialize FW diag log events from MC thread
FW DIAG log events are serialized to MC thread(WMA message queue)
which is causing PE/SME message queues starvation when FW is
generating flood of debug log events. Since WMA message queue has
higher priority than PE/SME message queue serialized FW debug log
events eventually lead to SME command queue time out because PE
message queue is starved. Fix this PE/SME message queue starvation
by moving FW diag log event processing to kworker thread.

Change-Id: Ifd8688c61bfdd132a4727d377cfc2e975e5c5b13
CRs-Fixed: 1011762
2016-05-13 16:20:43 -07:00
Archana Ramachandran
3abc391952 Fix HDD logging API in wlan_hdd_ioctl
Use only HDD logging API to prevent check patch errors

CRs-Fixed: 937233
Change-Id: Iae93657d473e81f27b4c491869a60daf83911f14
2016-05-13 16:20:43 -07:00
Manikandan Mohan
5356c2b387 qcacld-3.0: Add vendor command for TSF operations
Update TSF feature for vendor command QCA_NL80211_VENDOR_SUBCMD_TSF
to support TSF operations.

Change-Id: I89abf14b9b7d8ee8fe1c12f7684c87e4dee9bfb0
CRs-fixed: 997799
2016-05-13 16:20:43 -07:00
Krishna Kumaar Natarajan
e4e3a14cf4 qcacld-3.0: Fix incorrect handling of additional IE in assoc response
Fix incorrect handling of additional IE coming from userspace in assoc
response. additonal_ielen field used for the logical checks and buffer
manipulation does not contain correct value which might lead to incorrect
behavior.

Change-Id: I483696d1fa1a731e9afd0a4ea134900d81be7b43
CRs-Fixed: 998427
2016-05-13 16:20:43 -07:00
Krishna Kumaar Natarajan
fa598f95af qcacld-3.0: Fix enum values in cds_ieee80211_common
Fix enum values in cds_ieee80211_common by removing
unused enum values in ieee80211_opmode and updating
_MAX value in ieee80211_phymode.

Change-Id: If46be64fda0edb97881f8ea1bfe919a0a55a250f
CRs-Fixed: 989856
2016-05-13 16:20:43 -07:00
Krishna Kumaar Natarajan
a4e1224bb5 qcacld-3.0: Pass original beacon TSF to user space
Pass original beacon TSF to user space application. This
TSF is used by the user space application for its internal
processing.

Change-Id: I6c1638801dba2b53cbcb5b1ebc925d6f4e035582
CRs-Fixed: 998544
2016-05-13 16:20:43 -07:00
Vishwajith Upendra
c332b35416 Release 5.1.0.7A
Release 5.1.0.7A

Change-Id: I544f83bd429bd6d4f0fb645db6d08c84d4435dc0
CRs-Fixed: 688141
2016-05-11 14:42:13 -07:00
Akash Patel
e6409f5492 Release 5.1.0.7
Release 5.1.0.7

Change-Id: I853be50c2af89206383602430b904bb587aedc84
CRs-Fixed: 688141
2016-05-09 11:28:52 -07:00
Agrawal Ashish
b2a0b76c83 qcacld-3.0: Print mac address in Hex
qcacld-2.0 to qcacld-3.0 propagation

dphPrintMacAddr is printing mac address in decimal.
Print mac address in Hex format for readability.

Change-Id: I7a68d4d94745cee2274970196642d5041f09d184
CRs-Fixed: 940324
2016-05-09 11:28:52 -07:00
Agrawal Ashish
fb87b16193 qcacld-3.0: Don't Update default country code when no country code is selected
qcacld-2.0 to qcacld-3.0 propagation

At the time of driver load, countryCodeElected will be saved as
default country code.
If Driver changes country code through userspace, driver won't update
countryCodeElected as countryCodeElected is updated only for 11d scan.
In next scan if there are no scan results with 11d country code,
the driver will try to update country code on the basis of
countryCodeElected.
Fix this by not updating country code through 11d if
number of country code count is zero in scan results.

Change-Id: I0e5620a834dd3fef61d8a5f86ce753b9233bf56e
CRs-Fixed: 1004031
2016-05-09 11:28:52 -07:00
Agrawal Ashish
fdcb2d0b1f qcacld-3.0: Flush Scan results in DRIVER command SET_FCC_CHANNEL
qcacld-2.0 to qcacld-3.0 propagation

When framework sends SET_FCC_CHANNEL command to driver,
driver removes channel 12 and 13 from valid channel list.
Even after removing channels from valid channel list,
BSS entries are not flushed from scan cache table.
BSS entries get removed when age out timer expires.
Scan results shows stale entries before age out timer expires.
As 12 and 13 are not in valid channel list, driver should
remove BSS scanned on channel 12 and 13.

Change-Id: I63ca0bea23da1430ca0e6f323555c3ac6b2d07cd
CRs-Fixed: 949293
2016-05-09 11:28:52 -07:00
Agrawal Ashish
807e539334 qcacld-3.0: Remove wlan_hdd_band_p2p_2_4_GHZ
qcacld-2.0 to qcacld-3.0 propagation.

Remove wlan_hdd_band_p2p_2_4_GHZ as it's not being used any more.

Change-Id: I69d6e1b0c8298cab1776264f3e61445c95538729
CRs-Fixed: 944663
2016-05-09 11:28:52 -07:00
Agrawal Ashish
17bb3908da qcacld-3.0: Ini change for dyanmic min_rest_time and idle_time
qcacld-2.0 to qcacld-3.0 propagation

Currently default min_rest_time, max_rest_time and idle_time
are 50, 100 and 25 respectively.
When STA is connected in default behavior, DUT will stay on home channel
for 50 ms, then check traffic at every 25 ms increments.
If no traffic, then it will move to the next channel.
It will stay on home channel for max 100 ms. So 75 and 100
are the possible max_rest_time values.
If idle_time is reduced to lower value, better throughput
is possible as DUT need not to wait on same channel for
data inactivity.
Introduced ini params to configure min_rest_time & idle_time.

Change-Id: If28b7a30147fc11c67817314021fa502d2d8f5ad
CRs-Fixed: 952151
2016-05-09 11:28:52 -07:00
Agrawal Ashish
6b01576aa8 qcacld-3.0: Change conn_state to connecting before sme_roam_connect
qcacld-2.0 to qcacld-3.0 propagation

sme_roam_connect() has a direct path to call hdd_sme_roam_callback(),
which will change the conn_state.
If direct path, conn_state will be accordingly changed to
NotConnected or Associated.
Driver is not changing connection state to eConnectionState_Connecting
when connecting with iwconfig.
If connection state is not changed, connection state will remain
in eConnectionState_NotConnected state.
In hdd_association_completion_handler, "hddDisconInProgress" is set
to true if conn state is eConnectionState_NotConnected.
If "hddDisconInProgress" is set to true then cfg80211 layer is not
informed of connect result indication which is an issue.

Change-Id: Ieeaef582a04aa90ddcdcc373b00b68442c795337
CRs-Fixed: 900008
2016-05-09 11:28:52 -07:00
Agrawal Ashish
0f94b570ed qcacld-3.0: Dont include ext caps in Assoc request if AP doesn't support
qcacld-2.0 to qcacld-3.0 propagation

Some AP doesn't announce Extended Capabilities IE in Probe Response.
Device should not send extended Capabilities if AP doesn't support.

Change-Id: I53215b866cb90f4addf45e3b6ed8af435eb57842
CRs-Fixed: 930199
2016-05-09 11:28:52 -07:00
Agrawal Ashish
02460a80c6 qcacld-3.0: Add INFO logs in mcast/bcast filtering code
qcacld-2.0 to qcacld-3.0 propagation

Add info level logs for ARP, NS offload.

Change-Id: I65943d4428f724c39142d1371c04541fcaba7d83
CRs-Fixed: 880526
2016-05-09 11:28:52 -07:00
Agrawal Ashish
c38e58df19 qcacld-3.0: Remove redundant logs
qcacld-2.0 to qcacld-3.0 propagation

Some logs are excessive and unnecessary.
Remove/modify these redundant logs.

Change-Id: Ia7286612d81df3bbb266ba217f548516fa38d3de
CRs-Fixed: 885880
2016-05-09 11:28:52 -07:00
Agrawal Ashish
a5c2bdc4a7 qcacld-3.0: Modify TDLS log for link setup/Teardown
qcacld-2.0 to qcacld-3.0 propagation

As a part of logging improvement, modify redundant
logs, change certain log levels in TDLS link setup/
teardown path to make logs more useful.

Change-Id: Ibb0ee1edb5bbb1aed57bccbc15354031b0362198
CRs-Fixed: 861452
2016-05-09 11:28:51 -07:00
Agrawal Ashish
bb09f5eca1 qcacld-3.0: Remove redundant logs
qcacld-2.0 to qcacld-3.0 propagation

Some logs while Processing netlink messages are excessive.
Remove these redundant logs.

Change-Id: Ic5104e6fb2d306b488adf2a3919e004e5b57e186
CRs-Fixed: 879049
2016-05-09 11:28:51 -07:00
Agrawal Ashish
81f3cd479b qcacld-3.0: Correct log level
qcacld-2.0 to qcacld-3.0 propagation

Correct log level to avoid excessive logging in
wlan_hdd_tdls_exit()

Change-Id: Idfde282fe5167c245a3193466db05d73550a7bb4
CRs-Fixed: 637990
2016-05-09 11:28:51 -07:00
Agrawal Ashish
dd2075b375 qcacld-3.0: TL cleanup is not invoked for TDLS CONNECTING state
qcacld-2.0 to qcacld-3.0 propagation

When TDLS peer link state is in connecting state; at the time of
DISABLE link from upper layer driver is not doing TL cleanup
for connecting state.
Fix this issue by cleaning up for connecting state as well.

Change-Id: Ib97128b96ca13569f8d247e3eaa3c86938e426d1
CRs-Fixed: 773076
2016-05-09 11:28:51 -07:00
Manishekar Chandrasekaran
7f63d05a48 qcacld-3.0: Initialize spinlocks used for STA and SAP information update
qcacld-2.0 to qcacld-3.0 propagation

Initialize spinlocks sap_update_info_lock and sta_update_info_lock which
are used during SAP and STA information update respectively. These
uninitialized spinlocks lead to crash during access due to bad magic
value of the spinlock.

Change-Id: I7d2df8337f9feed352430774907aa095affa5a69
CRs-Fixed: 1011996
2016-05-09 11:05:14 -07:00
Yuanyuan Liu
1d8045cf0c qcacld-3.0: HDD: Use PLD APIs (Part 1)
PLD is a interface between CLD and CNSS/ICNSS. It hides
CNSS/ICNSS APIs from CLD and provides a set of common APIs.
CLD modules should use these PLD APIs instead of calling
CNSS/ICNSS platform APIs.

Register WLAN driver operations with PLD APIs for PCIE/SNOC.
SDIO/USB changes need to be done separately by adding SDIO/USB
support in PLD and replacing SDIO/USB specific functions with
common PLD APIs.

Change-Id: Ie329316dd5646aa2130208e2825bedc4f2aef719
CRs-Fixed: 1000113
2016-05-09 11:05:14 -07:00
Yuanyuan Liu
2e03b41f63 qcacld-3.0: Clean up OS wrapper functions
Replace CNSS wrapper functions with OS standard APIs.

Change-Id: Ic9e8305afc599fa02e80d1b60892cc11b4d4025e
CRs-Fixed: 1000113
2016-05-09 11:05:14 -07:00