Commit Graph

571 Commits

Author SHA1 Message Date
Govind Singh
6661529b7f qcacld-3.0: Fix IPA-uc callback in NON-SMP system
IPA callbacks need to be processed in tasklet
context in NON-SMP configuration as rx thread
is not used in NON-SMP context.
Hence Process IPA uc response in tasklet context
for NON-SMP configuration.

CRs-Fixed: 960302
Change-Id: I98d69dbdc1083f43035fe264bbee668e5efd5eee
2016-02-08 15:50:44 -08:00
Rakesh Sunki
f7f82e5131 qcacld-3.0: SAP DFS-3 Feature support in DFS layer
Introduce DFS-3 support changes in DFS layer.
Add support for per segment based queuing, processing
and pattern matching of the radar events in 80+80 channel
width mode,  when both segments are dfs.

Also, add support for parsing the new DFS-3 radar summary
report and extract the segment ID on which a phyerror is
seen.  Report the segment ID on which the radar has been
detected to the WMA layer to add only radar detected 80MHz
segment channels to be added to NOL in 80+80 MHz channel
width mode.

Change-Id: Ib9ed2122844cef5fde2b632accc8c798e86bf7a3
CRs-Fixed: 964262
2016-02-08 15:50:44 -08:00
Rakesh Sunki
8641f8a6b1 qcacld-3.0: SAP DFS-3 Feature support in WMA
Adding support for parsing the WMI_PHYERR_EVENTID
for DFS-3 in WMA event handler.  Configure the hw
board id to DFS module fetched from the wmi service
ready event.

Change-Id: I003fab790c7f46b54e5d41bcf1bbfa16f0cdc722
CRs-Fixed: 964262
2016-02-08 15:50:44 -08:00
Liangwei Dong
d7be7778d9 qcacld-3.0: correct phy_mode in hdd_chan_change_notify
qcacld-2.0 to qcacld-3.0 propagation

The sap Context related phyMode should be used
instead of the phyMode in hal. Otherwise, the incorrect
channel width will be reported to supplicant.

Change-Id: Ic0ce7861a786de5aef8b43c6aa0fde9f600b08b2
CRs-Fixed: 909668
2016-02-08 15:50:44 -08:00
Houston Hoffman
65a4a87ebd qcacld-3.0: move hif_bus_open to hif_open
Can consolidate these allocations.

Change-Id: I8af6fa459db62c99bf93ecdbd1dcd94bbee580a8
CRs-Fixed: 967256
2016-02-08 15:50:44 -08:00
Houston Hoffman
dc9c6c26b0 qcacld-3.0: Remove hif_claim_device
hif_claim_device does not serve a purpose in copy engine.
The usage and implementation of hif_claim_device need to be
reexamined for sdio and usb. It should not store the device
in a ce specific data structure.

Change-Id: I0847e152ae3a1ca57d5c6937d6929918063cc362
CRs-Fixed: 967244
2016-02-08 15:50:44 -08:00
Houston Hoffman
7f0c7f4735 qcacld-3.0: Remove epping context from cds
cds_get_context was not supporting epping.  Allow epping to manage its
own global context since it is a top level module.

Change-Id: Ic5faf885c83109162be141788a5f8871a4e35cef
CRs-Fixed: 967244
2016-02-08 15:50:44 -08:00
Kiran Kumar Lokere
5302ab6468 qcacld-3.0: Enable Tx beamformee in SAP mode
Currently Tx beamformee feature is enabled only in STA mode.
Add knob to enable or disable the Tx beamformee feature in SAP
mode

Change-Id: I6ea218b3bff6c973688aad716a3f1a3c8acc469b
CRs-Fixed: 963034
2016-02-08 15:50:44 -08:00
Kiran Kumar Lokere
fc2803db92 qcacld-3.0: Set the IMPS enable/disable based on INI
Send IMPS disable cmd to FW if IMPS is disabled in INI.

Change-Id: Ib5e663d1966ab059b69aa0b7a3bc92a99dd6368a
CRs-Fixed: 962402
2016-02-08 15:50:44 -08:00
Nirav Shah
d23104296e qcacld-3.0: Fix memory leak in case of fw reset stats command
Fix memory leak in case of txrx_fw_st_rst command where
we are not expecting any response from firmware.

CRs-Fixed: 964465
Change-Id: Iad91cb5557ef167d126ef68e07f02445ad7a0b97
2016-02-08 15:50:44 -08:00
Nirav Shah
55b45a080a qcacld-3.0: Use appropriate API to get total free descriptors
Use appropriate API to get total free descriptors for all
flow pool.

CRs-Fixed: 964984
Change-Id: I1ac40b2ce55743a65c6c487fd4055fe34ab61d2d
2016-02-08 15:50:44 -08:00
Naveen Rawat
df0a7e7a92 qcacld-3.0: Remove unnecessary lock from sme_roam_free_connect_profile
Remove unnecessary acquiring of SME lock in sme_roam_free_connect_profile
since this function does not access any SME structures.

Change-Id: I0ddafc4276ef5028b48fda0ae3ea4e6a0c23245e
CRs-Fixed: 958839
2016-02-08 15:50:44 -08:00
Naveen Rawat
22b1a93d52 qcacld-3.0: Fix definition of tx_timer_create macro
Add new argument for mac_ctx in definition of tx_timer_create macro
so that its caller can use any local variable name for mac context.
Currently pMac is hardcoded as first param in definition of the macro
which prohibits caller of that function from using any other name.

Change-Id: Id901424ba16846eab62c00a80d48a5c85c73bea6
CRs-Fixed: 824222
2016-02-08 15:50:44 -08:00
Naveen Rawat
dafda298f3 qcacld-3.0: Fix memory leak in hdd_send_re_assoc_event
In case kmalloc fail goto end of function and properly free
other possible allocated memory buffers.

Change-Id: I41d7577471b475b0a2a0daa83c6ffc845314ceb4
CRs-Fixed: 958755
2016-02-08 15:50:43 -08:00
Rajeev Kumar
fec3dbedc5 qcacld-3.0: Rename API cds_is_load_unload_in_progress
Rename API cds_is_load_unload_in_progress() to
cds_is_load_or_unload_in_progress() for clarity purpose.

Change-Id: I209c661ccee760f822d5df53577d822f3c741b37
CRs-Fixed: 964217
2016-02-08 15:50:43 -08:00
Rajeev Kumar
d8508cb9b8 qcacld-3.0: Fix cds_is_load_unload_in_progress API
cds_is_load_unload_in_progress is checking for both driver
load AND unload states. This is leading to all external threads
still enter in driver when driver has already started unload
clean up process. Fix this API to check either load OR unload
in progress driver states.

Change-Id: I4cd446393346bc5c085bc9a92ee68f46f1ec5097
CRs-Fixed: 964211
2016-02-08 15:50:43 -08:00
Rajeev Kumar
dbc886e319 qcacld-3.0: Add CDS SSR ready check for driver unload
Driver unload is not waiting for external threads to exit
before starting clean up process. Add CDS SSR ready check
for driver unload such that driver unload waits for all
external threads to exit before cleaning up driver data
structures.

Change-Id: Ic5ac1b770dea8e470ed8dcce50a4f66451f918f1
CRs-Fixed: 964151
2016-02-08 15:50:43 -08:00
Rajeev Kumar
98edb77f7b qcacld-3.0: Add kernel doc for wlan_hdd_cfg80211_change_iface
Add kernel doc for wlan_hdd_cfg80211_change_iface function.

Change-Id: I1616b60ba805a055b5b15fbc0bb1aa65ee7b56a3
CRs-Fixed: 964145
2016-02-08 15:50:43 -08:00
Sandeep Puligilla
c8f0c797a4 qcacld-3.0: Fix memory leak in scan
Free the scan request parameters after scan
request is posted to scan queue.

Change-Id: I370249f9ef6b4180a106acb5e6929351ad4a0467
CRs-Fixed: 964341
2016-02-08 15:50:43 -08:00
Sandeep Puligilla
a8d2f52f66 qcacld-3.0: Fix scan request memory leak
scan complete callback function is not
freeing scan request memory after scan completion.

Free the scan request memory after scan completion.

Change-Id: I2636e3b4576d2c86d88dc3e7684a196ed1838297
CRs-Fixed: 964244
2016-02-08 15:50:43 -08:00
Sandeep Puligilla
e2c9a956ba qcacld-3.0: SAP DFS-3 Feature support
Changes needed in protocol stack related to DFS-3 feature.

Change-Id: Iec8e4e336039f5b643b9d10ee6737203222683cf
CRs-Fixed: 964262
2016-02-08 15:50:43 -08:00
Krunal Soni
03a882bead qcacld-3.0: Fix all comments given as part of IBSS+STA code changes
Fix all the comments given during code review of IBSS+STA changes.

Change-Id: If675f55b612f9412c803fc3587a352c9967d1fbe
CRs-Fixed: 963738
2016-02-08 15:50:43 -08:00
Prashanth Bhatta
75fa9a1d99 qcacld-3.0: hdd: Refactor wlan_startup (phase 4)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

Fix style issues like conditional compilation with in the
function and other minor ones.

Change-Id: Iec2dc3aac934bbb90b87d4e8581e877e5b0a561c
CRs-fixed: 959287
2016-02-08 15:50:43 -08:00
Prashanth Bhatta
5f7c9b8c0e qcacld-3.0: hdd: Refactor wlan_startup (phase 3)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

Create separate functions to update country code from module
parameter and initialize thermal mitigations settings in SME.

Change-Id: I84cf611347a5abadc16eeb46fed90934913e09ed
CRs-fixed: 959287
2016-02-08 15:50:43 -08:00
Prashanth Bhatta
98f04d25ea qcacld-3.0: hdd: Refactor wlan_startup (phase 2)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

Make separate function to open the interfaces at probe time.

Change-Id: Ia0044f5b0d0f009950d62556e09928ac578a1d4b
CRs-fixed: 959287
2016-02-08 15:50:43 -08:00
Prashanth Bhatta
c2a16f6c55 qcacld-3.0: hdd: Refactor wlan_startup (phase 1)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

This is the first phase of changes to add a separate function to
allocate and initialize HDD context.

Change-Id: I35b6c95c1b09f853e83752123c44e8d21c8af50a
CRs-fixed: 959287
2016-02-08 15:50:43 -08:00
Satish Singh
89f98350e2 Release 5.0.0.158
Release 5.0.0.158

Change-Id: I4682e3242ba368aa7bd5907811f0365c6b135953
CRs-Fixed: 688141
2016-02-08 15:50:43 -08:00
Amar Singhal
a297bfa739 qcacld-3.0: More regulatory cleanups
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.

Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
2016-02-08 15:50:43 -08:00
Amar Singhal
8ade126ff9 qcacld-3.0: Remove the 4.9 GHZ channels
Remove the 4.9 GHZ channels from the driver stack.
4.9 GHZ channels are not being used for any country,
so remove them.

Change-Id: I135f997bb4c8ad7a536596b4e89eb037f41e0c73
CRs-Fixed: 856727
2016-02-08 15:50:43 -08:00
Amar Singhal
fda6edaffa qcacld-3.0: Remove FEATURE_STATICALLY_ADD_11P_CHANNELS
FEATURE_STATICALLY_ADD_11P_CHANNELS was a temporary solution for
builds that were not defining DSRC channels in db.txt. That
restriction no more holds true. Also correct the list of DSRC
channels in function cds_is_dsrc_channel.

Change-Id: I1146ec9702a8eec801b635a276e981962dd42817
CRs-Fixed: 856727
2016-02-08 15:50:42 -08:00
Amar Singhal
7a1726aefe qcacld-3.0: Change regulatory data structures style
Change regulatory data structures and APIs to linux style.
Change the references to the data structures accordingly.
Leave data structures that would be deleted in subsequent
iterations as is.

Change-Id: I68dcd3485d3fb3d98f648b5844508356c3f3c29d
CRs-Fixed: 856727
2016-02-08 15:50:42 -08:00
Amar Singhal
7f1f3ecd53 qcacld-3.0 : Remove the local regdomain mapping
Remove the local country to regdomain mapping in the driver.
Return a fixed regdomain index 0 to the caller. Also update
copyright for cds_regdomain.h for 2015.

Change-Id: I33e0a861b0a3bd95b20becb2d765b8300688ec4c
CRs-Fixed: 856727
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
fb796d1985 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeAssocCnf
Replace tSirMacAddr with cdf_mac_addr in tSirSmeAssocCnf.

Change-Id: I0b267ad09aac1f44079477cfde8d13265c1f2264
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
1a245364d6 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocReq
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocReq.

Change-Id: I9d0b77e0ce624c48ca0fea2774c0f63285793cee
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
dd3c513e76 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocRsp
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocRsp.

Change-Id: Ia196615e99506b4fa80a7d611cdefd2e7d2150fa
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
e13cc34fa3 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocInd
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDisassocInd.

Change-Id: Icdf3420c24762f919df73d57dffdf1b51151a0e8
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
5f3c81a672 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthCnf
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthCnf.

Change-Id: I16b399bcb76a6dd3fcc35c52e5822e988d4e5001
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
9efa10edc0 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthRsp
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthRsp.

Change-Id: I7036160f39ff69be5f937a71769e057d8906f2d3
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
9cf95c5d6f qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthRsp
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthRsp.

Change-Id: I383f867f8847f66bc6f6e99ee2a56b4bc89ebe5b
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
9ee9a5c4cc qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthInd
Replace tSirMacAddr with cdf_mac_addr in tSirSmeDeauthInd.

Change-Id: Ic8203cb89b970d5efb4c99e5e570af95ac9f802e
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
a230265a23 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeStopBssReq
Replace tSirMacAddr with cdf_mac_addr in tSirSmeStopBssReq.

Change-Id: Ie758460224c632a8192f8dfbe14cbb508636ff25
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
591c56501c qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeSwitchChannelInd
Replace tSirMacAddr with cdf_mac_addr in tSirSmeSwitchChannelInd.

Change-Id: Ide9e600c1c4b105740bd16a13366e1e2f5f9fda6
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
cba74734a1 qcacld-3.0: Fix mangled function lim_cmp_s_sid()
Fix mangled API lim_cmp_s_sid() to lim_cmp_ssid() which were
introduced while converting the names programmatically.

Change-Id: I3a6d4b8678fc815fb8c8787bd080c9188ef98f67
CRs-Fixed: 882962
2016-02-08 15:50:42 -08:00
Srinivas Girigowda
d65dc5a905 qcacld-3.0: Remove obsolete and duplicate macros
Remove obsolete and duplicate macros.

Change-Id: I19010da3b40af1e65ec9a9a5e1fc01ecac56b0df
CRs-Fixed: 898864
2016-02-08 15:50:42 -08:00
Houston Hoffman
267723f092 qcacld-3.0: Move runtime pm bookkeeping out of hdd
Move state machine and stat logging for runtime pm feature out of hdd.

Change-Id: I2699905d9c238a1402eac11c1107b44bb9e617e4
CRs-Fixed: 935300
2016-02-08 15:50:42 -08:00
Houston Hoffman
ac31d34d80 qcacld-3.0: Instrument fastpath for runtime_pm
Fastpath needs gets and puts to work with runtime_pm enabled.

Change-Id: I2248d1e77c842ab12fcc10e3f29fa3ef4dd76052
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
a0e71066f3 qcacld-3.0: Fix rmmod for runtime pm
Runtime PM should be turned off before the driver is unloaded.

Change-Id: I8746e92931375893708556e77a3d93bfd6266668
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
746a571cf7 qcacld-3.0: Mark last busy in recieve for runtime pm
Scan was not going through.

Change-Id: I37d02a88e29da9c4fa756cc46fc812f10c58fe00
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
10a20bbdea qcacld-3.0: Prevent runtime suspend when linkdown not allowed
Runtime suspend does not save power in d0 mode.

Change-Id: I6bc83923a6384c3275b95bd0ffbb4404d9a3f86d
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
d92ae54ea1 qcacld-3.0: Log runtime suspend resume occurances
Keep track of how many times supesend resume succeeds and fails
also mark last busy on a failed runtime suspend or a successful
runtime resume.

Change-Id: I04df805429e3a9ce91bc3d7f27bfd598396257c9
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
b0ac63cf85 qcacld-3.0: Runtime puts for HTT messages
HTT messages do not have a tx complete and should
have their runtime puts done when the firmware response
come.  Tag messages without responses so that the
put can be done after issuing the message.  Also do
runtime put in error case.

Change-Id: I7253ace95ca6bb4fa17bc6d82ec52fc598d17712
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
1460fa326f qcacld-3.0: Runtime PM handling for htc messages
Check runtime pm status while sending messages.
Update runtime pm when sending messages to hif.
Update runtime pm when messages are tx completed.

Change-Id: I27840f57ff87d6d27b1e3611e7fe1f2cd933ddd0
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
e893708cb9 qcacld-3.0: Coordinate runtime suspend from hdd
HDD interfaces with the platform driver.  Runtime suspend
is a callback registered with the platform driver.  Coordinate
runtime suspend from hdd since it is both the logical entry point
and knows what other layers need to participate in a runtime suspend.

Change-Id: I80b71e504d0cd31bd5a8e47895db7e0bd233f6c3
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
a76591b583 qcacld-3.0: Provide wma runtime suspend resume apis
wma has to do some extra steps that were part of 802.11 suspend
for runtime suspend.

Change-Id: I91fbdcacd6c557f30e0d4f422324f2db67cb96dc
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
f2936d19bc qcacld-3.0: Provide hif runtime suspend resume apis
hif runtime suspend resume is identical to a regular bus suspend
resume, but provide a different api just in case this changes.

Change-Id: If069df7733d6a1ebe38d356ac5bdd4e2a250118b
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
47ee8ca308 qcacld-3.0: Introduce cdf_suspend_type
Introduce an enum for use by multiple layers to suspend slightly
differently when doing a runtime suspend versus a system suspend.

Change-Id: I753bbe909e53558fe592defdca021331ec6feb88
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
61b798b75d qcacld-3.0: Provide cdf apis for runtime suspend
Provide apis to allow and prevent runtime suspend.

Change-Id: I7604659d257823f436ff370715f421d58ce25d3a
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
d13fa735b2 qcacld-3.0: Add hif apis to prevent allow runtime pm
Support pm_runtime put/get/prevent/allow apis in hif layer.

Change-Id: I66be45de4177eeff3678b9ebd874c9bbde3cad22
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
a8ef6fb8c7 qcacld-3.0: Provide setters for pm_state to upper layer
Runtime pm opperations will be initiated in hdd, so hdd
needs an api to updated the runtime_pm state.

Change-Id: I783fc136777a56d8ea23f8b11617ebe92641221a
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
8eb73ed3ad qcacld-3.0: Add runtime pm initialization
Add runtime pm initialization, including the creation
of a debugfs entry.

Change-Id: Ib057feaf36a04bb525a731e236187c134449c5f2
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
5be9bac028 qcacld-3.0: Implement htc runtime suspend/resume
Provide the apis to suspend & resume the htc layer
for runtime suspend.

Change-Id: Ia4c4f00fa62b250c5097e6bc14137b0114c5c90f
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
345fa405a9 qcacld-3.0: Add dynamic wake event configuration
Want to dynamically enable and disable wakeup for
pno scan.

Change-Id: I95876979652ab16976f23561038c877cee4c930a
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Houston Hoffman
7260ecbc64 qcacld-3.0: Send one suspend indication message to wma
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.

Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Krunal Soni
1878d3a2cc qcacld-3.0: Merge two sme & csr config structure in to one
SME holds config item in tCsrConfigParams structure as well as some of
the same items in tSmeConfigParams which makes tCsrConfigParams super
set of tSmeConfigParams. There are high chances if somebody misses
copying item from tSmeConfigParams to tCsrConfigParams and that will
result in config item not being set correctly.

In order to make it clean and easy, merge both config structure in one.

Change-Id: I8c93d9fae0986cb90b4ed4c4712b1e2b023b4be3
CRs-Fixed: 963752
2016-02-08 15:50:41 -08:00
Krunal Soni
ef3294b8e5 qcacld-3.0: Send the correct supported channel width in Assoc Resp
qcacld-2.0 to qcacld-3.0 propagation

Currently, if SAP supports 40Mhz, then it sends the supported
channel width as 40Mhz irrespective whether STA supports or not.

Changes done to check the STA capability for supported channel
width and send it accordingly in Assoc Resp

Change-Id: I58ca44b6998d4712521a10285b9fd2a3f825d2ed
CRs-Fixed: 728676
Signed-off-by: Krunal Soni <ksoni@qca.qualcomm.com>
2016-02-08 15:50:40 -08:00
Krunal Soni
1867f16018 qcacld-3.0: Fix checkpatch error in wlan_qct_sys.c
This patch is to fix the check-patch errors in wlan_qct_sys.c

CRs-Fixed: 824222
Change-Id: I99f5c2daad9d14fcc6a7ab24dee95810829eeaf4
2016-02-08 15:50:40 -08:00
Ryan Hsu
4252a2fc6f qcacld-3.0: clean up the WLAN_FEATURE_MBSSID flag (phase 1)
WLAN_FEATURE_MBSSID flag is originally added to support MBSSID,
specifically for the MOBILE ROUTER build, and is now enabled for all
builds, there is no longer needed to have a separate feature flag,
so that removing it.

This commit cleans up the following modules - cds/mac/sap/sme.

Change-Id: I79ad9767b7945af0c567b6294ac07e7697898e9e
CRs-fixed: 958154
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
3cc29cbc23 qcacld-3.0: Deactivate and clean up logging thread on driver load failure
This is qcacld-2.0 to qcacld-3.0 propagation

Deactivate and clean up the logging thread during driver load failure and
ensure that logging thread is not enabled for FTM mode

CRs-Fixed: 961865
Change-Id: I53f85a30f52fc5715705624bf515ab5e4666db8e
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
0c5441e64c qcacld-3.0: Avoid all module logging onto kmsg during driver load
This is qcacld-2.0 to qcacld-3.0 propagation

Avoid logging of all module logs into kmsg during the driver load
phase. All module log level is set much before setting of the
flag that indicates whether multicast logging is enabled or not.
Because of this all module log levels are getting printed for a
brief duration in kmsg during driver load. Fix the same by
setting the multicast flag appropriately so that when multicast
logging is enabled, all the logs are multicast to user space
and only the error and fatal messages continue to get logged in
the kmsg.

CRs-Fixed: 958705
Change-Id: I260e38ef64f704dfd9ca1ca4dc68c56428526559
2016-02-08 15:50:40 -08:00
Chouhan Lokesh
4e5521b52c qcacld-3.0: Prefer ini params logging preference over code preference
qcacld-2.0 to qcacld-3.0 propogation

Previously trace logging levels are set from cfg.ini for different
modules which again over written by code. Ultimately code logging
preference was taking place.

After changes if the log level for any module is set to DEFAULT(0xffff)
then only code logging preference will be used else cfg.ini logging will be
preferred.

CRs-Fixed: 875973
Change-Id: Ia3df86908cec1d5c487d614a418721c0cd98fc52
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
794a098c18 qcacld-3.0: Add new IOCTL to change SAP/P2P-GO's operating channel
Add new IOCTL 'CHANNEL_SWITCH' which is used to move the operating
channel of SAP/P2P-GO. This IOCTL is supported only for SAP/P2P-GO
and not for STA/P2P-GC.

E.g., format to issue command through wpa_supplicant:
DRIVER CHANNEL_SWITCH <CH> <BW>
- <CH> is channel number to move (1 for ch1, 149 for ch149 etc.)
- <BW> is bandwidth to move (20 for BW 20, 40 for BW 40 etc.)

Change-Id: Ie65f2ceb9ece04053ab32ee60f83fd09cd232f77
CRs-Fixed: 955368
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
a74bb024b1 qcacld-3.0: Accommodate channel bandwidth as input during channel switch
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.

Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
dc351569d8 qcacld-3.0: Fix invalid operating class calculation during channel switch
Fix invalid operating class calculation while sending out channel switch
frames. The operating class is getting wrongly calculated using the
channel width instead of the channel offset. Fix this by calculating and
passing the channel offset parameter instead of the channel width to the
necessary function to ensure that the operating class gets calculated
correctly.

CRs-Fixed: 955414
Change-Id: I011db65e57c477e381fd471a4a930a02e2a7ee21
2016-02-08 15:50:40 -08:00
Kiran Kumar Lokere
999e58c920 qcacld-3.0: Remove the cb_mode usage in channel bonding
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.

Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
2016-02-08 15:50:40 -08:00
Varun Reddy Yeturu
d5939f8b45 qcacld-3.0: Optimize LFR3 roam synch propagation
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.

CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
2016-02-08 15:50:40 -08:00
Satish Singh
729d12f6a8 Release 5.0.0.157
Release 5.0.0.157

Change-Id: If54fac1194de693983bf4f0744fb11dfffdeb7ba
CRs-Fixed: 688141
2016-02-08 15:50:40 -08:00
Yue Ma
664effc92c qcacld-3.0: Fix potential memory leaks in SSR
qcacld-2.0 to qcacld-3.0 propagation

During SSR, since VDEV detach won't happen, some contexts saved in VDEV
may not get a chance to be freed. Add change to check these contexts
in SSR shutdown routine to make sure they are freed.

Change-Id: I36d12b3bb524ca107ece2441c1dc1d80293cb31b
CRs-fixed: 957587
2016-02-08 15:50:40 -08:00
Yue Ma
23d128364d qcacld-3.0: Save call stack for each memory allocation in SLUB builds
qcacld-2.0 to qcacld-3.0 propagation

Currently only one level of information (file name and line number of
the caller who wants to allocate memory) is saved when each memory is
allocated. This may not be able to provide enough information for some
cases that multiple levels of callers are the same. Hence save call stack
as well for each memory allocation in SLUB builds for debug purpose.

Change-Id: I245d53ec3805217ca34d7c1f5e31b84cac73e395
CRs-fixed: 930557
2016-02-08 15:50:40 -08:00
Govind Singh
24db1ed70b qcacld-3.0: Fix build failure in cds module
pRoamInfo is not initialized in cds_force_sap_on_scc function.
This is resulting in build failure when FEATURE_WLAN_FORCE_SAP_SCC
flag is enabled. Modify cds_force_sap_on_scc function to fix the same.

CRs-Fixed: 953618
Change-Id: I136d33f108dab19c236c7bf1aadf7608c0673baf
2016-02-08 15:50:40 -08:00
Prashanth Bhatta
915b9d342f qcacld-3.0: Use CDF APIs for spin lock
sched_scan_lock and connection_status_lock's are using spin lock
APIs directly from kernel. Change to use CDF APIs for spin lock.

Change-Id: I0f56624df34682150b402fc36b9dfdba36a598f3
CRs-fixed: 959287
2016-02-08 15:50:39 -08:00
Mahesh Kumar Kalikot Veetil
d43e165149 qcacld-3.0: Add backward compatibiilty to older FW
If DBS hwmode is not available from FW, return accrodingly in
wma_get_hw_mode_from_idx.

Change-Id: I603edd8a49bfd584300dcfc21c2b3c8c4c3c1892
CRs-Fixed: 934012
2016-02-08 15:50:39 -08:00
Houston Hoffman
616679618f qcacld-3.0: Revert merge conflicts in wma_suspend_req
wma_suspend_req is rewritten in changes
I020fc8864dbf7378805361d54dc6cff60b2652e5
and I95876979652ab16976f23561038c877cee4c930a

Revert "qcacld-3.0: Fix the PNO WoW is not configured in concurrency case"
This reverts commit 3bf7846a5ee12e0641f90b9ff05a80a068cde777.
Revert "qcacld-3.0: Cleanup WOW_NLO_SCAN_COMPLETE_EVENT"
This reverts commit 8098644b8cbf89f23442c5bef02f186460cd9f8f.
Revert "qcacld-3.0: Find extscan_in_progress irrespective of connected or pno"
This reverts commit 7bb7f564b75965bfbf09fef6b5406aaa19c245a7.

Change-Id: If0953ad7ca8d7224c87f026e77d1a3f256c4f124
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
7a39c0cb30 qcacld-3.0: Replace ServiceID with service_id
Removes cammel case.

Change-Id: I8107c9fa783bdec41468191315c901018f6fd05f
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
9e7c1c77c5 qcacld-3.0: Replace EndPoint with endpoint
This change also changes EndPointStats to endpoint_stats.

Change-Id: I88509901b0d15a59f35633dccbe7ca0b5f7b3b76
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
a2cdf2284e qcacld-3.0: Rename cdf_sched_work to cdf_schedule_work
The api is clearer without the abreviation. The api is
cleaner without an unused cdf_handle. Also remove
unnecessary cdf_schedule_work api.  cdf_create_work
is also cleaner without cdf_handle.

Change-Id: Id8c32596a92184d6768e2bc3210c308b44da2a57
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
f709c67be7 qcacld-3.0: Fix firmware assert completion handling
Hif needs to guarantee that it frees the buffers that it doesn't
pass to upper layers.

Change-Id: I816d0a1b19a5a0c00e9669c18dfdf427c102c911
CRs-Fixed: 958124
2016-02-08 15:50:39 -08:00
Houston Hoffman
6ccc86afd8 qcacld-3.0: Remove IHELIUM_BU flag
This flag supports depricated emulation hardware.
Remove conditionally compiled code and dummy functions
that become unused as a result.

Change-Id: Ie21df7e39b196109acfb6b41afc6b8c22fecb822
CRs-Fixed: 958120
2016-02-08 15:50:39 -08:00
Houston Hoffman
79b4af2999 qcacld-3.0: Define wma_is_vdev_in_beaconning_mode
Define wma_is_vdev_in_beaconning_mode to remove in function ifdefs.
Remove conditional compilation arround wma_is_vdev_in_ibss_mode calls.

Change-Id: I4b047d05088b5cbe51fa49818634fdd3a78e6b68
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
24e12a6966 qcacld-3.0: Add config for the MCC restriction on Adrastea emulation
On M2M emulation platform we have a fixed mapping between macs, hence
vdev transition & MCC support is not possible on this platform. But MPR
platform doesn't have these limitations. This config allows at runtime
enable/disable vdev transition & MCC support depending on the platform
it is running on.

Change-Id: I17a92dce695ee30f7994f040d4bc612a38680f3e
CRs-fixed: 922181
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
4adb368b6a qcacld-3.0: cleanup cds_concurrency files
Code cleanup & update of correct copyright information.

Change-Id: Icee77761cf00cee3b633bd260d5af38286a4f22c
CRs-fixed: 956394
2016-02-08 15:50:39 -08:00
Ryan Hsu
e839f8f3fb qcacld-3.0: clean up hddLog API in wlan_hdd_green_ap.c
Clean up wlan_hdd_green_ap.c to use the unified hdd logging APIs.

Change-Id: If444137793895dea9b0e0ed894f238ac00363f2d
CRs-fixed: 959696
2016-02-08 15:50:39 -08:00
Srinivas Girigowda
110d620564 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirNsOffloadReq
Replace tSirMacAddr with cdf_mac_addr in tSirNsOffloadReq.

Change-Id: Ic53f963b3df46d67bf5f202ac6aaf7c49ab858a9
CRs-Fixed: 898864
2016-02-08 15:50:39 -08:00
Srinivas Girigowda
a9d12f1907 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsSendMgmtReq
Replace tSirMacAddr with struct cdf_mac_addr in tSirTdlsSendMgmtReq.

Change-Id: I0f545721d184c17b2d150df5435d51cd6ca7bf9e
CRs-Fixed: 898864
2016-02-08 15:50:39 -08:00
Hanumantha Reddy Pothula
b834021a5e qcacld-3.0: Process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state
qcacld-2.0 to qcacld-3.0 propagation

If ADDTS response timer is fired because of not receiving ADDTS RSP
within time then this timer handler posts SIR_LIM_ADDTS_RSP_TIMEOUT
command to LIM. But if deferring is enabled(say due to processing any
action frame) then SIR_LIM_ADDTS_RSP_TIMEOUT command will be added to
defer queue and as gLimAddtsSent is set to TRUE, including this
command all other defer commands will never be processed. This may
lead to active command timeout.
Hence process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state.

Change-Id: I48f09a7fd560702ac7701e0a1a41c77ad94626d4
CRs-Fixed: 919490
2016-02-08 15:50:39 -08:00
Rajeev Kumar
217f217599 qcacld-3.0: Fix compilation issues on MSM8998 RUMI platform
Fix compilation issues on MSM8998 RUMI platform caused by
CONFIG_CNSS not being defined and un-initialized local variable usage.

Change-Id: Iaf8bec493a42ec9fd09e1b2b6aa085be8de4bc8a
CRs-Fixed: 959249
2016-02-08 15:50:39 -08:00
Abhishek Singh
acfdc92a12 qcacld-3.0: Remove roam cmd from sme active list in case of failure
qcacld-2.0 to qcacld-3.0 propagation

-In case CSR is already connected and it receives connect with the
 same profile, csr will silently return and try to send the connect
 success to HDD. But if roamInfo staId is 0 this roam command is not
 removed from sme active list and leads to active list timeout.
 This back to back connect to CSR can happen if HDD and CSR go out
 of sync and is taken care already.

-Also if disconnect is received in case scan for ssid is in progress
 it will be dropped and roam session state is set to disconnecting.
 But this roam session state is not reset for the fresh connection
 and thus if next connect also issue scan for ssid the connect
 command will be dropped assuming disconnect is in progress.

This change removes roam cmd from sme active list in case of
above failure and resets roam session state for fresh connections.
Also does some cleanup in HDD disconnect command.

Change-Id: I222626f1da6bdad83a5264668dde9aafd3dda149
CRs-Fixed: 953196
2016-02-08 15:50:39 -08:00
Abhishek Singh
03f992e41d qcacld-3.0: Abort previous connect if fresh connect is received
qcacld-2.0 to qcacld-3.0 propagation

If connect is received with previous connect in progress, driver
doesn't abort the previous connect and process the new connect.
In csr if new connect is for same profile, sme directly indicate
connection success to hdd and thus hdd increment the active
session count twice for both connect.

Now if one more connect is received it will try to disconnect the
previous connection and decrements the active session count.
So the count is 1 though no session is active.

Eventually if same scenario happens again the active session
count will become 2 with no active session. As max active session
limit is 2, no more connect is accepted.

To avoid this, if fresh connect is received and previous connect is
in progress abort the previous connect.

CRs-Fixed: 958963
Change-Id: I1544bc6e7894ffeda1956a19a553b6fe4e35f988
2016-02-08 15:50:39 -08:00
Abhishek Singh
7996eb7a8e qcacld-3.0: Send management frame indication directly to HDD from PE
qcacld-2.0 to qcacld-3.0 propagation.

If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.

Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.

To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.

Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
2016-02-08 15:50:39 -08:00
kaliu
154d789744 qcacld-3.0: eSmeCommandDelStaSession stuck in smeCmdActiveList
qcacld-2.0 to qcacld-3.0 propagation.

1.Use iw tool to let dut connect to remote ap, dut is working
on wlan0.
2.At same time, use hostapd to start sap also on interface
wlan0.

In item1, before connect to ap, dut will do an internal scan
to search ap, if scan result matched configured ap profile,
dut trys to connect to ap.

In item2, when starting sap, found it's sta mode it will try
to disconnect dut with remote ap and close sta session.

  #1 If ap start action happened in item1's scan period, trying
  disconnecting won't take effect as currently sta has not yet
  connected with remote ap.
  So after item1's scan finished, dut continues to do connection.

  #2 During closing sta session, sme issued eSmeCommandDelStaSession,
  as currently sta is doing connection, so session is in started
  status, this cause closure failed, so there is no chance to remove
  cmd in smeCmdActiveList.
  While cmd pending in smeCmdActiveList for 120s, driver issued crash.

The solution is in item1 after scan complete to check whether it's
needed to start following connection. If stop action has been issued
during scan period, then don't do the connection.

Change-Id: If632e21cb13277fba371ff1bf8df97febf856d09
CRs-Fixed: 923375
2016-02-08 15:50:38 -08:00
Jeff Johnson
bd561a9d95 qcacld-3.0: Convert wlan_hdd_driver_ops.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_driver_ops.c to use the unified set of APIs.

Change-Id: I5620e91797412c0dbf32c1071b3eefd54f54aca7
CRs-Fixed: 937590
2016-02-08 15:50:38 -08:00