Commit Graph

684 Commits

Author SHA1 Message Date
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