Commit Graph

7098 Commits

Author SHA1 Message Date
Jeff Johnson
673fd5b80a qcacld-3.0: Replace typedef t_multicast_add_list
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The t_multicast_add_list typedef
does not meet any of those criteria, so replace references to it with
a reference to the underlying struct.

Change-Id: Ic70b2e2c716963b0f267bae86961cbf973246b24
CRs-Fixed: 2119523
2017-10-04 13:04:45 -07:00
Jeff Johnson
44e5217218 qcacld-3.0: Replace typedef beacon_data_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The beacon_data_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I2202f452549da705a315e89993f100617eb7e0e1
CRs-Fixed: 2119522
2017-10-04 13:04:45 -07:00
snandini
dd71ba999f Release 5.2.0.46Y
Release 5.2.0.46Y

Change-Id: Iee59aafcf2918c47843b293edfd92788e4e77528
CRs-Fixed: 774533
2017-10-04 08:41:29 -07:00
Poddar, Siddarth
aee8ff668f qcacld-3.0: Cleanup of hdd_wlan_startup
Cleanup the hdd_wlan_startup, presently lot of configuration
is written to firmware from the startup function which is not
correct with different driver models supported. Move the feature
initialization to hdd_features_init. Also in the probe failure
error path netdev notifier is not getting unregistered.
Leaving stale pointer with the kernel which can lead to a crash.

Unregister the netdevice during the probe failure and cleanup features.

Change-Id: If7fe7c4c0f97e4b4829551840643c4e525696c76
CRs-Fixed: 2090570
2017-10-04 08:41:29 -07:00
Arunk Khandavalli
932a9e161a qcacld-3.0: synchronize interface change timer with driver shutdown
As part of the last interface down, driver starts the interface
change timer to close the modules of 15seconds, if there is no
request to use the interfaces from upper layer during this time
the timer expiers and closes modules. There can be SSR/PDR triggered in the
different context which during shutdown tries to call the
respective module notifiers which can be purged/freed
in the timer context.

Synchronize the interface change timer callback with the shutdown
using the interface change timer lock. Following steps are taken
to make sure one thread is completed before other thread starts
execution:
	* Set the respective flag of recovery inprogress or fw_down
          so that access to firmware is blocked.
	* Take the interface change lock, so if the timer callback
	  is running it will complete the closing the modulkes,
	  or if the uevent gets the lock it completes the calling
	  notifiers and purges the same.
	* Release the interface change lock.

Change-Id: I1d7f62cd0ce7268cc9a5bda2a72dae384b70a6e2
CRs-Fixed: 2100846
2017-10-04 08:41:26 -07:00
Nachiket Kukade
aaf8a71ef5 qcacld-3.0: Implementation to change BmissFinalBcnt dynamically
Implementation to change BmissFinalBcnt dynamically.
User can set totalBcnt using the new command
QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BMISS_CNT.
BmissFirstBcnt will retain its default value or from ini.
BmissFinalBcnt will be configured as (totalBcnt - BmissFirstBcnt).

Change-Id: Ie3c3895d48248d349400e755f07edc807e335b44
CRs-Fixed: 2081906
2017-10-04 08:41:24 -07:00
Arunk Khandavalli
062fb036ec qcacld-3.0: Add SSR support for monitor mode
Presently SSR is not supported in the monitor mode, in the debug
builds the device enters bad state when the SSR is triggered
in the monitor mode.

Make changes to support SSR in monitor mode.

Change-Id: Iee88a0c1aca1b093607cea20ee1957be55a33598
CRs-Fixed: 2034240
2017-10-04 12:18:15 +05:30
snandini
141f12cb55 Release 5.2.0.46X
Release 5.2.0.46X

Change-Id: I8e11706dab5fc798fb4f3cd6a373fb2321d3d42a
CRs-Fixed: 774533
2017-10-03 22:00:50 -07:00
Jeff Johnson
ba1d0cad25 qcacld-3.0: Replace typedef hdd_tx_rx_stats_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_tx_rx_stats_t typedef does
not meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ic3ff995d10e65f949ee069b134d9826583461b1e
CRs-Fixed: 2119524
2017-10-03 16:35:33 -07:00
snandini
ca1341f9e2 Release 5.2.0.46W
Release 5.2.0.46W

Change-Id: Id8cab7b8a9bfeaf6801031206a458b859cf8dac9
CRs-Fixed: 774533
2017-10-03 16:02:57 -07:00
Krunal Soni
332f4afc05 qcacld-3.0: For host-invoked roaming to same AP, don't to send null frm
During host invoked roaming, set WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP
flag so that FW will not send NULL data frame while doing transition to
same bssid.

CRs-Fixed: 2046964
Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
2017-10-03 16:02:56 -07:00
Poddar, Siddarth
44aa5aa772 qcacld-3.0: Add support to log ICMPv6 packets in DP Trace
Add support to log ICMPv6 packets such as NS/NA, RS/RA and
ICMPv6 Req/Res in dp trace.

Change-Id: I20ba677db59044569516348cd11427fb820175a8
CRs-Fixed: 2075962
2017-10-03 16:02:53 -07:00
snandini
79225a6e90 Release 5.2.0.46V
Release 5.2.0.46V

Change-Id: I7cbc6262e013cec2084745d92ccd550ecfeb2fa9
CRs-Fixed: 774533
2017-10-03 11:46:05 -07:00
Arunk Khandavalli
847969de19 qcacld-3.0: Dont disable the ps conf to firmware
Presently, host driver is sending the exit power save
configuration request to firmware when an interface up comes
before iface_change_timer which is not required because firmware
is the master and decides to enter/exit imps.
To mitigate the issue, don't send the exit IMPS request to firmware
before interface change timer expires and re-configure the same
incase of loadonce-unload never in case of firmware is de-initialzied.

Change-Id: Ia47687cdcfc5a5fb7be1a8066e163c3248305bba
CRs-Fixed: 2002110
2017-10-03 11:46:04 -07:00
snandini
cbeaea46cc Release 5.2.0.46U
Release 5.2.0.46U

Change-Id: Id6c45713e0207db438919da2b56de83eb9b50bac
CRs-Fixed: 774533
2017-10-03 10:14:14 -07:00
Vignesh Viswanathan
eaa6889efa qcacld-3.0: Send DPP Public Action frames to userspace
Allow DPP public action frames to be sent to user space.

Change-Id: I50790772cd7c1b51ae2242fb096345047c08460c
CRs-Fixed: 2106568
2017-10-03 10:14:14 -07:00
snandini
19450db6d7 Release 5.2.0.46T
Release 5.2.0.46T

Change-Id: I2df11cb8809a13289ee5ee66493cf97523006e54
CRs-Fixed: 774533
2017-10-03 08:24:16 -07:00
Sravan Kumar Kairam
d80c7669d0 qcacld-3.0: Shutdown IPA WDI pipes on PDR event
Shutdown the IPA WDI pipes on PDR event from ICNSS driver to
prevent the possibility of IPA diver invalid access of CE ring
registers.

Change-Id: I19da0c015ba229512f71d7016236b106d9d8ee43
CRs-Fixed: 2072920
2017-10-03 08:24:15 -07:00
snandini
31322d25cf Release 5.2.0.46S
Release 5.2.0.46S

Change-Id: If38b321c5b5d7e6c863c196cec5c4fa3ed7e486e
CRs-Fixed: 774533
2017-10-03 07:46:19 -07:00
Sravan Kumar Kairam
8ea5ee2120 qcacld-3.0: Add net buff pop fail counter
Add net buff pop fail counter which helps to debug issues
related to scenario when RX ring fill count exceeds the fill
level.

Change-Id: I00f4a4e245e0732ef04518e4c1db95999edc6687
CRs-Fixed: 2106523
2017-10-03 07:46:18 -07:00
snandini
9e2d24aec9 Release 5.2.0.46R
Release 5.2.0.46R

Change-Id: I67f4e6b9a663d72d7dd760443421f52be8d07c4c
CRs-Fixed: 774533
2017-10-03 05:36:18 -07:00
Abhishek Singh
b58164af41 qcacld-3.0: Choose best candidate at first connection
Best candidate at first connection is a mechanism
to select best possible candidate for making Wi-Fi
connection based on the scan results provided.
Driver use Scan results to calculate score for each
BSS and select the best candidate to connect.
This enhances the user experience by connection
to better AP, based on certain parameters.

Change-Id: I3f88fa8c67f4cf830f05faf2c1d3f3491eee9a72
CRs-Fixed: 2018585
2017-10-03 05:36:18 -07:00
snandini
ae74b08460 Release 5.2.0.46Q
Release 5.2.0.46Q

Change-Id: I84fbdfc7c593e5d828085d887069edaac77f268c
CRs-Fixed: 774533
2017-10-03 04:14:20 -07:00
Sourav Mohapatra
3a13bf5f9f qcacld-3.0: Modify max for gEnableRTSProfiles item to accommodate more profiles
Change the max value of gEnableRTSProfiles from 34 to 66 as firmware has
support for 66. Update the template describing the different values that
can be used for the profile.

Change-Id: I5a6a398c74804022075a06ca0e17858335064c5b
CRs-Fixed: 2116704
2017-10-03 04:14:19 -07:00
snandini
4c04a8695b Release 5.2.0.46P
Release 5.2.0.46P

Change-Id: I4e652ea4efbf617757fc860beaa0de385ccfcc0e
CRs-Fixed: 774533
2017-10-03 03:30:45 -07:00
Krunal Soni
e6a1cda95e qcacld-3.0: Bring back changes of Antenna sharing for STA
Change-id Iafd5666179d079c7bcc950277092cef3046356bf was added to remove
antenna sharing support from SAP and STA case but customer needs those
changes for SAP case only.
So bringing back changes for STA case.

CRs-Fixed: 2117829
Change-Id: I79f7c5ae1fd642f0b26170f066a5409638cdd873
2017-10-03 03:30:44 -07:00
Vignesh Viswanathan
f8800692cd qcacld-3.0: Fix potential buffer overwrite in wma_roam_synch_event_handler
In the function wma_roam_synch_event_handler, vdev_id is received from
the fw and is used to access member of the array wma->interfaces without
validating the max of the vdev_id received from the fw

Add check to make sure vdev_id is less than max_bssid before using it

Change-Id: I3b940e183ab66680891cb7351af4537b50afce1d
CRs-Fixed: 2114187
2017-10-03 03:30:42 -07:00
Vignesh Viswanathan
677e3ec4b7 qcacld-3.0: Avoid integer overflow in wma_rx_aggr_failure_event_handler
Add sanity check to ensure num_failure_info from FW does not cause
integer overflow while calculating alloc_len, as alloc_len is in
turn used to malloc which can lead to less than required memory
allocated in case of integer overflow of alloc_len

Change-Id: Iea93e879196e9cd43856a7dcc9204d2304f76c78
CRs-Fixed: 2114789
2017-10-03 03:30:41 -07:00
Jeff Johnson
dadef1a675 qcacld-3.0: Replace typedef fw_log_info
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The fw_log_info typedef does not
meet any of those criteria, so replace it with a struct.

Change-Id: I4ec73e046f2439c094cb6d05a99d883241c7fe20
CRs-Fixed: 2119521
2017-10-03 03:30:39 -07:00
Jeff Johnson
d5ba8a632e qcacld-3.0: Fix semantic issues with IPA counting macros
Checkpatch identified multiple issues with the macros:
HDD_IPA_INCREASE_INTERNAL_DROP_COUNT
HDD_IPA_INCREASE_NET_SEND_COUNT

Fix those issues.

Change-Id: If947d09ec2a13ab599f7a08e572ed2c9cc87c8e8
CRs-Fixed: 2119501
2017-10-03 03:30:37 -07:00
Jeff Johnson
82cc76fb35 qcacld-3.0: Fix spurious space in CFG_MAX_AMSDU_NUM_NAME usage
Checkpatch is flagging the following issue:
ERROR:SPACING: space prohibited before that ',' (ctx:WxW)
+	REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME , WLAN_PARAM_Integer,
 	                                    ^

Remove the spurious space.

Change-Id: I60d78072cbaa6b24df14c623af35b99ef81606d5
CRs-Fixed: 2119500
2017-10-03 03:30:35 -07:00
Jeff Johnson
6867ec3361 qcacld-3.0: Fix incorrect use of CDS logging APIs within HDD
It was observed that logs from some HDD functions were tagged with the
QDF module ID. Code analysis showed some HDD functions are using cds_*
logging APIs instead of hdd_* logging APIs. Replace the cds APIs with
the hdd APIs.

Change-Id: I38edb7b5491d0d2d1412b41d3ae6e129ebc4dbe0
CRs-Fixed: 2090970
2017-10-03 03:30:33 -07:00
Venkata Sharath Chandra Manchala
880a948ed9 qcacld-3.0: Propagate config parameters to datapath
Provide an interface to propagate the feature
specific config parameters to Lithium datapath.

Change-Id: I852b14cb04b1c2c01a697434bc5fe8b29dbfe9ea
CRs-Fixed: 2097229
2017-10-03 03:30:31 -07:00
Naveen Rawat
903accac1f qcacld-3.0: Remove LTE ant sharing dependency on HT connection's NSS
While DUT is in SAP or GO mode, due to LTE antenna sharing mechanism,
DUT is associating in 2x1 chains to HT clients.

As per new requirement, remove dependency of number of chains on antenna
sharing. If HT client supports 2 chains, and due to DBS/LTE antenna
sharing SAP/GO drops down a chain then rate adaptation at peer takes
care of dropping down chains at peer side

Change-Id: Iafd5666179d079c7bcc950277092cef3046356bf
CRs-Fixed: 2108484
2017-10-03 03:30:29 -07:00
snandini
9a260a84ae Release 5.2.0.46O
Release 5.2.0.46O

Change-Id: I0213fe93cf1e004379b1fe385e5e9d7c6056b5d0
CRs-Fixed: 774533
2017-10-03 02:38:56 -07:00
Ganesh Kondabattini
1a2aed894a qcacld-3.0: Maintain limit off channel params per adapter
The limit off channel parameters were applied to all adapters
even though application sends this command on a particular
interface.

Maintain limit off channel parameters per interafce.

CRs-Fixed: 2103637
Change-Id: Ib768bfb61deac77ea2d67b7d6b6750a96bdc8902
2017-10-03 02:38:55 -07:00
Vignesh Viswanathan
9f090ad8f9 qcacld-3.0: Avoid integer overflow in wma_get_ll_stats_ext_buf
Check multiple variables received from firmware used to calculate
buf_len to make sure that it does not exceed the max msg size, as
this buf_len is in turn used in malloc and can lead to less than
required memory allocated in case of integer overflow of buf_len

Change-Id: I2689873c2c5e63c83e5059563662c0c69dc659fc
CRs-Fixed: 2115112
2017-10-03 02:38:54 -07:00
snandini
6e306f132f Release 5.2.0.46N
Release 5.2.0.46N

Change-Id: Ia1f58491216f5651f02a288484680193c64401d4
CRs-Fixed: 774533
2017-10-02 21:43:32 -07:00
Jeff Johnson
f8d455c4c2 qcacld-3.0: Prevent pHddCtx from being re-introduced
A recent set of changes replaced all instances of pHddCtx in the
driver. But one subsequent change re-introduced the term (this was
subsequently fixed), and code under review is also attempting to
re-introduce the term. Put a mechanism in place to prevent this term
from being re-introduced.

Change-Id: I424045ec36678da3d3aa47029fbcdfd6140057a0
CRs-Fixed: 2118493
2017-10-02 21:43:32 -07:00
snandini
8221d9490f Release 5.2.0.46M
Release 5.2.0.46M

Change-Id: Ifae69ce5349322b8782fd0940b72f2b10be4dd20
CRs-Fixed: 774533
2017-10-02 15:42:10 -07:00
Rajeev Kumar
493a31be99 qcacld-3.0: Set hdd context to null when its freed
HDD context in gp_cds_context is not getting reset to null during
driver remove callback when hdd context is destroyed. Set HDD context
to null to avoid any use after free.

Change-Id: Ifbeaca139ed44f871266a11f4b9e973961e26cc8
CRs-Fixed: 2119187
2017-10-02 15:42:10 -07:00
snandini
41458e1fde Release 5.2.0.46L
Release 5.2.0.46L

Change-Id: Iebed444275d105307e6fa2acc55d367624ba2224
CRs-Fixed: 774533
2017-10-01 13:35:16 -07:00
Varun Reddy Yeturu
0a2c310e29 qcacld-3.0: Check for the max number of P2P NOA descriptors
Check for the maximum number of P2P NOA descriptors in
wma_send_bcn_buf_ll.

Change-Id: If7e5b3c53309412dc7d3cd748c2f5581898fbbfe
CRs-Fixed: 2114323
2017-10-01 13:35:16 -07:00
snandini
a57afa51c2 Release 5.2.0.46K
Release 5.2.0.46K

Change-Id: I32e1c2412bd26c3a80e067def72d6aacd1bacfeb
CRs-Fixed: 774533
2017-10-01 11:34:38 -07:00
Varun Reddy Yeturu
c31391065e qcacld-3.0: Avoid int overflow in wma_unified_link_radio_stats_event_handler
Check for the validity of the number of channels passed in the
radio stats event received from firmware to ensure an integer
overflow does not happen.

Change-Id: Idf5738a40139aafad4de422965dc4ff3d0e53a32
CRs-Fixed: 2114426
2017-10-01 09:31:33 -07:00
snandini
084d031e5a Release 5.2.0.46J
Release 5.2.0.46J

Change-Id: Iaa9102462a51de1e36ac37e0282098075b7271ba
CRs-Fixed: 774533
2017-09-29 17:41:01 -07:00
Jeff Johnson
174c47a211 qcacld-3.0: Populate pdev and vdev legacy_osif_priv pointers
Currently the legacy_osif_priv pointers in the Object Manager's pdev
and vdev objects are not populated. As a result it is not possible to
get the HDD object given an Object Manager object. Populate these
pointers to allow these lookups.

Change-Id: If5ee0c785d0496ee4f06f7d230fbcf6ba957b610
CRs-Fixed: 2119155
2017-09-29 17:41:01 -07:00
Dustin Brown
a713916eae qcacld-3.0: Throw error if nla_parse is used directly
In order to support multiple nla_parse function signatures across
different kernel versions, a new hdd_nla_parse wrapper was introduced.
However, it is easy for propagations or new code to reintroduce
nla_parse. Redefine nla_parse to throw an error, to prevent the
function from being reintroduced into the code base.

Change-Id: I6e9b9cd60cee94dd9f94a067e7b9d964d60ae295
CRs-Fixed: 2116044
2017-09-29 17:40:59 -07:00
snandini
f325b23e7e Release 5.2.0.46I
Release 5.2.0.46I

Change-Id: I74b3a79668e3589efa6a95d92231036fcd127321
CRs-Fixed: 774533
2017-09-29 16:29:21 -07:00
Varun Reddy Yeturu
e4e2f29d4b qcacld-3.0: Avoid integer overflow in wma_peer_info_event_handler
Check for the num_peers received from firmware and ensure an
integer overflow does not happen in wma_peer_info_event_handler.

Change-Id: I08cc98fc425d9905d0ca090cd42b73227e594772
CRs-Fixed: 2115366
2017-09-29 16:29:21 -07:00