Commit Graph

6892 Commits

Author SHA1 Message Date
Yeshwanth Sriram Guntuka
9cfea5b37d qcacld-3.0: Fix kernel checkpatch warnings in nan_datapath_api.c
Fix kernel checkpatch warnings in nan_datapath_api.c

Change-Id: I8e7ba89e517a07b36358e3c97314f27e8c11f79a
CRs-Fixed: 2025503
2017-09-26 22:19:56 -07:00
Yeshwanth Sriram Guntuka
f5b9c0acbb qcacld-3.0: Fix kernel checkpatch warnings in p2p_api.c
Fix kernel checkpatch warnings in p2p_api.c

Change-Id: Ibfe38ef773b0c84eb66c9c3b2198f19638368c87
CRs-Fixed: 2025503
2017-09-26 22:19:54 -07:00
Yeshwanth Sriram Guntuka
dbee719fe5 qcacld-3.0: Fix kernel checkpatch warnings in sme_qos.c
Fix kernel checkpatch warnings in sme_qos.c

Change-Id: Id3cf9884e30c4da241e27e5f42ab13ed361dc2a3
CRs-Fixed: 2025503
2017-09-26 22:19:52 -07:00
Yeshwanth Sriram Guntuka
04b0bb26db qcacld-3.0: Fix kernel checkpatch warnings in sme_api.c
Fix kernel checkpatch warnings in sme_api.c

Change-Id: Id129a2c8ff12e152a74448d202057668f0eb4454
CRs-Fixed: 2025503
2017-09-26 22:19:50 -07:00
Yeshwanth Sriram Guntuka
36c09902c0 qcacld-3.0: Fix kernel checkpatch warnings in csr_inside_api.h
Fix kernel checkpatch warnings in csr_inside_api.h

Change-Id: I4bacfa0b2bddbadc9ca8593d726b77d7b7f4dacf
CRs-Fixed: 2025503
2017-09-26 22:19:48 -07:00
snandini
851fa3cf22 Release 5.2.0.45J
Release 5.2.0.45J

Change-Id: I6a45b8e520d9588efd6d71f119f09a2eab525a1c
CRs-Fixed: 774533
2017-09-26 21:30:35 -07:00
Will Huang
82e63b5c18 qcacld-3.0: Fix possible NULL pointer dereference
In function csr_get_dot11_mode, CSR_GET_SESSION may return NULL if
session_id is an invalid value, check it before use this pointer.

Change-Id: I7c29ca455add9f0a8b19a6ca98e1f2bb319a1c9d
CRs-Fixed: 2071449
2017-09-26 21:30:35 -07:00
Nachiket Kukade
f44b33eac4 qcacld-3.0: Let probe fail gracefully after htc_wait_target returns NOMEM
During probe if htc_wait_target fails with any error status, driver will
BUG_ON except when the FW_DOWN bit is set. This is to let probe fail
gracefully in case of recoverable errors and BUG_ON for fatal errors.
So driver will BUG_ON for NOMEM errors as well, even though recovery is
possible in this case with a driver load retry.
Do not BUG_ON in case of error status is NOMEM or FW_DOWN is set.

Change-Id: I0e7cbd4db8263765f0d97709ec30de6aefb6fae5
CRs-Fixed: 2102844
2017-09-26 21:30:33 -07:00
Arun Khandavalli
75d246bd84 qcacld-3.0: Reject set packet filter params for invalid device mode
Packet filter params is supported only for Station mode presently,
configuring the filter for other modes results in failure in fw.
To mitigate the issue reject the packet filter for other modes than
Station mode.

CRs-Fixed: 2029356
Change-Id: Ic2c1786dcf8d8980a104af2ee6916489dd2ec423
2017-09-26 21:30:30 -07:00
snandini
f3adf7fb2b Release 5.2.0.45I
Release 5.2.0.45I

Change-Id: I60ef5c7f6590e898321cb767157eab49d1929157
CRs-Fixed: 774533
2017-09-26 20:43:44 -07:00
Arun Khandavalli
08479ba85b qcacld-3.0: Register the netdev notifier before the netdevices
Applications in the userspace can sleep on the RTM events from
the driver. One such application waiting of RTM_NEW_LINK indication
does interface up as soon as it recieves the indication, so the
kernel takes rtnl_lock to call the dev_open on the interface.
Load/unload of the driver and dev_open of the interfaces are
synchronized with hdd_init_deinit_lock. So the __hdd_open is waiting
on the hdd_init_deinit_lock which is currently held by the driver
loading context. After registering the interfaces driver goes to
register the netdev notifier which is blocked on the rtnl_lock
currently held by the dev_open resulting in deadlock.

To mitigate the issue register the netdev notifier before the
interfaces are registered.

Change-Id: Ibb0c187a43ad87fa535ff583316af430e1ddf04f
CRs-Fixed: 2078720
2017-09-26 20:43:43 -07:00
Arunk Khandavalli
4b404333ca qcacld-3.0: Move the freeing of tartget memory module_exit to stop_modules
In the Loadonce unload never driver the modules_start and modules_stop
happen multiple times and presently the memory for target_name is
allocated multiple times during the start_modules but freed only
once during the module_exit, so when the driver is unloaded
this can result in  a crash.

Moving this to stop_modules will help in freeing this everytimg.

Change-Id: I87a92c8b411fb0ae148a293d74e6914246b88014
CRs-Fixed: 2107392
2017-09-26 20:43:41 -07:00
Arunk Khandavalli
e1b3a38ec8 qcacld-3.0: Block interface up when recovery is in progress
In certain cases during the SSR/PDR after shutdown the interface
up of the driver can be invoked before complete recovery is completed.
This can lead to accessing the bus which is not clocked or other issues.
Block the interface up from the upper layer until the recovery is completed.

CRs-Fixed: 2096446
Change-Id: I6b6569a10520d58e005e56046288ccc10592f725
2017-09-26 20:43:38 -07:00
snandini
d2c0d75f84 Release 5.2.0.45H
Release 5.2.0.45H

Change-Id: I44e308a5e0ddfa78515cc313a484d2c4070fcd40
CRs-Fixed: 774533
2017-09-26 19:58:01 -07:00
Abhishek Singh
d568647705 qcacld-3.0: Drop roam sync indication if user disconnect is in progress
Roam sync indication checks for csr roam state to determine if user
disconnect is not in progress. But there can be a race condition
where the csr roam state is not updated by disconnect and while
roam sync check the state and proceed.

To fix this set the disconnect in progress flag in sme session
as soon as disconnect starts in HDD and use that to determine if user
disconnect is not in progress when roam sync is received.

Change-Id: Icf541b698eb194621d19b03f281ec3dfd552e373
CRs-Fixed: 2112912
2017-09-26 19:58:00 -07:00
Vignesh Viswanathan
5532cd4cc5 qcacld-3.0: Add new vendor AP check to associate in 1x1
Some vendor APs are not able to handle the SMPS frames causing the
APs to crash.

Add new vendor AP OUIs, compare the vendor AP OUIs with AP capabilities
and if there is a match and also check if the AP is 4x4 11ac then
associate in 1x1 to that AP.

Change-Id: I91b56d67a2d20b9e6eae8e7b6e14db4d2905ec29
CRs-Fixed: 2094490
2017-09-26 19:57:58 -07:00
snandini
268c743dc1 Release 5.2.0.45G
Release 5.2.0.45G

Change-Id: Ic6e6bc5e585bb9f153d90bc0cdce556b02420396
CRs-Fixed: 774533
2017-09-26 17:53:03 -07:00
Ganesh Kondabattini
b1960e78f4 qcacld-3.0: Add support for QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS
Add support for handling vendor sub command
QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS and parsing its attributes.

CRs-Fixed: 2069865
Change-Id: I38f761f20007a04063b0e0680793aedcabd02c6a
2017-09-26 17:53:02 -07:00
Ganesh Kondabattini
3573957abf qcacld-3.0: set the limit off-channel command parameters
Set the limit off-channel command parameters and conc_system_pref
according to active tos indication from application.

CRs-Fixed: 2066088
Change-Id: I896999adb59aa468daf33364c708d95ef3062018
2017-09-26 17:53:00 -07:00
Ganesh Kondabattini
dadf1fb155 qcacld-3.0: Set DFS flag for DFS channels
Driver is updating WMI_CHAN_FLAG_PASSIVE flag for DFS channels
while sending 'WMI_SCAN_CHAN_LIST_CMDID' command to firmware.

Driver should also update the WMI_CHAN_FLAG_DFS flag for
DFS channels. Otherwise functionality like skipping DFS channels
as part of scan request may not work.

CRs-Fixed: 2103636
Change-Id: Ia146eaad93deab778d5ce7a8647f5c0ba7068ead
2017-09-26 17:52:57 -07:00
Sravan Kumar Kairam
5662358b2e qcacld-3.0: Reset to NULL after freeing the memory
At IPA UC detach after free IPA TX resource TX comp
ring and TX CE index pointers reset them to NULL.

Change-Id: If6a1b2857d14f5fff2f47e541156ce2c27fb33a3
CRs-Fixed: 2111959
2017-09-26 17:52:54 -07:00
Sravan Kumar Kairam
170e218ee2 qcacld-3.0: Remove recovery in progress check
Currently during PDR after client disassociation IPA client
disconnect event is not send because of recovery in progress
condition. After reload IPA pipes are not enabled as IPA context
number of connected stations are non zero which leads to data stall
of backhaul traffic. In this change remove recovery in progress check
which is not necessary in this case.

Change-Id: Id465f78fc224e2c08fb3977266e7032666a22692
CRs-Fixed: 2105106
2017-09-26 17:52:51 -07:00
Sravan Kumar Kairam
c76f28a675 qcacld-3.0: Check if pipes already enabled for IPA enable pipes
Currently there is a race condition during enable of IPA WDI pipes
after IPA_RM_RESOURCE_GRANTED notification from IPA RM and at the
same time client disconnect happens. Because of this race condition
subsequent enable IPA pipes at the time of client connection IPA
driver returns error as the pipes are not disabled before. In this
change after requesting IPA resource check for IPA pipes state and
if pipes are not enabled then enable the pipes.

Change-Id: Idd0d4089efa5b81d5301a278fb0dd836db0ecb48
CRs-Fixed: 2082118
2017-09-26 17:52:48 -07:00
Govind Singh
02075947b5 qcacld-3.0: Free exception path buffer for invalid adapter
IPA's exception path buffer is not freed if adapter is invalid.
Free exception path buffer if adapter is invalid.

Change-Id: Iacaea4d96a6233764da3cf4b302d7ed9affe6d95
CRs-Fixed: 2092131
2017-09-26 17:52:46 -07:00
Govind Singh
1dab23b24c qcacld-3.0: Flush ipa_pm work during the stop adapter
The IPA SKB's stuck in exception path are flushed after
adapter is deleted can lead to null pointer dereference of
adapter as IPA skb's have reference to this adapter in
their CB struct.

Flush ipa_pm work during the stop adapter and ensure the queue
is emptied and no outstanding buffer from IPA exception path.

CRs-Fixed: 2092131
Change-Id: I24f0c166cee1b5e0fed1c0c49a53c1a2117c900c
2017-09-26 17:52:43 -07:00
Govind Singh
6f6d711e01 qcacld-3.0: Exit gracefully if netbuf pop fails from rx hash table
Recovery is triggered if rx hash table look up fails due to invalid
physical address. Since netbuf is not found in this case and null
netbuf is de-referenced after recovery is completed and this leads
to null pointer exception.

Exit gracefully if netbuf pop fails from rx hash table.

Change-Id: I66b3d1cf9aa05da235212923a551e58d86153e55
CRs-Fixed: 2094521
2017-09-26 17:52:40 -07:00
Govind Singh
64228921f2 qcacld-3.0: Fix ring refill retry logic
When system is under low memory condition and skb allocation fails,
RX ring msdu is not attached in ring replenish logic and Ring refill retry
timer refills the ring debt at the interval of 50 ms.

If refill retry fails to allocate the memory,  refill debt is not updated and
this is resulting in retry logic failure.

Update refill debt when retry allocation fails to allocate
rx ring msdu.

Change-Id: I4d2230e4984e26b44db663e7e7f20c73ae90b0f0
2017-09-26 17:52:38 -07:00
Ashish Kumar Dhanotiya
ecf4db04c7 qcacld-3.0: Add driver support for new country codes
Country codes IQ and GI are not recognized by driver.
Add driver support to recognize country code IQ and GI.

Change-Id: I76997d4426718a57fee23c9774153f1adc597c44
CRs-Fixed: 2104094
2017-09-26 17:52:35 -07:00
Himanshu Agarwal
8392de79f9 qcacld-3.0: Do memzero of htt_frag_desc inside HELIUMPLUS flag
Do memzero of htt_frag_desc inside HELIUMPLUS flag as
htt_frag_desc is defined only for HELIUMPLUS.

Change-Id: Ie738881c5330956b24376f145f03dd977bf88f7b
CRs-Fixed: 2096935
2017-09-26 17:52:33 -07:00
Himanshu Agarwal
88ec24f2d8 qcacld-3.0: Memzero htt_frag_desc before use
Presently, htt_frag_desc is not getting zeroed out explicitly.
So fw can take the invalid/garbage data in the frag information
and treat it as a valid address which may lead to crash.

Memzero htt_frag_desc before use.

Change-Id: I9dadcb883a65c43f96e810a12b4fb491c3a2e734
CRs-Fixed: 2088448
2017-09-26 17:52:30 -07:00
Himanshu Agarwal
10b44364a0 qcacld-3.0: Fill channel width when selected channel is invalid
When no channel is selected from ACS and fallback channel
is invalid, a default channel is selected but the channel
width remains invalid due to which ASSERT is happening.

Whenever default channel is selected, select default channel
width of 20 MHz as well.

Change-Id: I885e01d1324484b84e04675238d2e1f8cd10e30c
CRS-Fixed: 2112806
2017-09-26 17:52:27 -07:00
Himanshu Agarwal
8d4cf47ffb qcacld-3.0: Add logic to mark first wakeup packet without offload bit set
Add logic to mark first wakeup packet even if offload bit is not set in
the htt rx indication message sent by fw.

Change-Id: Ide50dcfcf88ecd0c71b32b0e746742dc49d08567
CRs-Fixed: 2110627
2017-09-26 17:52:24 -07:00
Ashwini Patil
f2bf05e548 qcacld-3.0: Add ini items used in mbo bss transition context
Add ini items for current and candidate rssi thresholds used in
mbo bss transition context.

Change-Id: I834c87aaaf776cdc293718fb994b4aae38af6a8b
CRs-Fixed: 2007107
2017-09-26 17:52:21 -07:00
Hanumanth Reddy Pothula
788a37e3c1 qcacld-3.0: init/deinit bug report lock appropriately
During initialization, bug report lock is initialized after logger
thread is created and during deinitialization, bug report lock is
destroyed before logger thread exits. As logger thread uses this
lock there is a possibility of logger thread to access uninitialized
lock.

To mitigate this issue initialize/deinitialize lock after/before
creating logging thread.

Change-Id: I973c9b6c7eed38cbbc09258a54e587078ddb37e1
CRs-Fixed: 2094510
2017-09-26 17:52:19 -07:00
snandini
5c90049395 Release 5.2.0.45F
Release 5.2.0.45F

Change-Id: I8b5259401e0b5f80297c07704725d0480883cb4b
CRs-Fixed: 774533
2017-09-26 12:23:52 -07:00
Sandeep Puligilla
4b0dcf7363 qcacld-3.0: Initialize scan param structure
Device crashed while accessing the unintialized
memory as part of scan request processing.

Initialize the scan params structure to zero.

Change-Id: Iaf430c6edb485a009f8d932ce0c2d033b9ec6137
CRs-Fixed: 2116256
2017-09-26 12:23:51 -07:00
snandini
d57a2aeacf Release 5.2.0.45E
Release 5.2.0.45E

Change-Id: I9f3a093c2447525bea95dc4ee2d08143e7e29bf3
CRs-Fixed: 774533
2017-09-26 09:38:41 -07:00
Yeshwanth Sriram Guntuka
52bc6bbccc qcacld-3.0: Remove unnecessary kernel message
Moved unnecessary kernel message to debug logs where ever not
required in kernel logs

Change-Id: If7b69fbdc4afea4597d38a44f786ee221ee917b2
CRs-Fixed: 2042092
2017-09-26 09:38:41 -07:00
snandini
e0d648996d Release 5.2.0.45D
Release 5.2.0.45D

Change-Id: Ie91883a9819800182f2b0f1dbda9bbf2215d9dc9
CRs-Fixed: 774533
2017-09-25 23:42:44 -07:00
Arunk Khandavalli
bbc301f619 qcacld-3.0: Free the allocated beacon memory in start_bss failure
As part of start_ap new beacon memory is allocated and filled with
the parameters sent by the upper layer. If there is any failure
during the start the bss, the memory is not freed resulting in
the leak.

Free the allocated beacon memory if there is any failure in starting
the bss.

Change-Id: Idc263ffbb352e56d65d397b200facb23b7ab207c
CRs-fixed: 2033325
2017-09-25 23:42:44 -07:00
Will Huang
ebfd91b33f qcacld-3.0: Enable IRAM Dump
qcacld-2.0 to qcacld-3.0 propagation

Cleanup target dump code and add support to dump IRAM region
for different platforms. Update the Target Memory Region for
different platforms.

Change-Id: Ie29fb62e0f1bc279311f77400e8be490ccf987a4
CRs-Fixed: 2088394
2017-09-25 23:42:41 -07:00
snandini
c2c177123b Release 5.2.0.45C
Release 5.2.0.45C

Change-Id: If78e39e37939af08c16bdcf3167b49514a019a34
CRs-Fixed: 774533
2017-09-25 21:56:58 -07:00
Jeff Johnson
c13bfe08ca qcacld-3.0: dp: Replace instances of unadorned %p
Replace instances of unadorned %p in core/dp.

Change-Id: I7baa3ecc4f9964c47261dafa26116447fc7611b5
CRs-Fixed: 2100997
2017-09-25 21:56:58 -07:00
Jeff Johnson
11bd4f3c42 qcacld-3.0: mac: Replace instances of unadorned %p
Replace instances of unadorned %p in core/mac.

Change-Id: Id9b15d369dda7660f292e6c961b25d2e8270b141
CRs-Fixed: 2100997
2017-09-25 21:56:56 -07:00
Jeff Johnson
a7c0ddb8c1 qcacld-3.0: sap: Replace instances of unadorned %p
Replace instances of unadorned %p in core/sap.

Change-Id: I37a803518430313d360d10e429469fa7bb471b78
CRs-Fixed: 2100997
2017-09-25 21:56:54 -07:00
Jeff Johnson
c83eca9924 qcacld-3.0: sme: Replace instances of unadorned %p
Replace instances of unadorned %p in core/sme.

Change-Id: I8176263cf21ec7281dd5ebbaecbe1c8568465a37
CRs-Fixed: 2100997
2017-09-25 21:56:51 -07:00
Jeff Johnson
adba396c07 qcacld-3.0: wma: Replace instances of unadorned %p
Replace instances of unadorned %p in core/wma.

Change-Id: I44a975caa73f0837274536babf1902bef06c591a
CRs-Fixed: 2100997
2017-09-25 21:56:49 -07:00
snandini
35a71d956b Release 5.2.0.45B
Release 5.2.0.45B

Change-Id: I3347246bd4bf37fdbb723182bb1ebf492554ba3c
CRs-Fixed: 774533
2017-09-25 13:21:50 -07:00
Deepak Dhamdhere
a7987a2ed1 qcacld-3.0: Reset and update session nss value after roaming
In LFR3 roaming, session->nss is recomputed by starting with mac_ctx
configured value, then lim_fill_ft_session() trims it based on
AP's capability in the beacon. Then lim_ft_prepare_add_bss_req() modifies
it based on dot11mode if necessary.

CRs-Fixed: 2082240
Change-Id: If9841ea8d10cc1269ec118c9e7f75fa0444abe3e
2017-09-25 13:21:49 -07:00
snandini
53cdaeee3b Release 5.2.0.45A
Release 5.2.0.45A

Change-Id: I980732ea585f18f3d22c8ebf9f51bc810704758e
CRs-Fixed: 774533
2017-09-25 11:22:13 -07:00