Commit Graph

6071 Commits

Author SHA1 Message Date
Naveen Rawat
585e96a8de qcacld-3.0: Remove obsolete variable from sSirChanChangeResponse
Structure sSirChanChangeResponse does not uses ePhyChanBondState
secondaryChannelOffset anymore. Remove the obsolete member variable

Change-Id: Ib244b6e5c1692ab928acc22e125d49779119e176
CRs-Fixed: 2071677
2017-08-06 00:59:52 -07:00
Naveen Rawat
0e1fe12361 qcacld-3.0: Remove status arg from lim_ft_process_pre_auth_result
Argument 'status' to the API lim_ft_process_pre_auth_result was not
being used. Remove 'status' from the argument list.

Change-Id: Ie514f8d1ec43dc964171132a4306f9089f445e8f
CRs-Fixed: 2071677
2017-08-06 00:59:50 -07:00
Naveen Rawat
ba6629747d qcacld-3.0: Remove state eLIM_SME_WT_REASSOC_LINK_FAIL_STATE
Remove obsolete state eLIM_SME_WT_REASSOC_LINK_FAIL_STATE.

Change-Id: Ief46fe3a5ab222e214fe720f3ae6e7e7baac6eaa
CRs-Fixed: 2071677
2017-08-06 00:59:48 -07:00
Naveen Rawat
25735af347 qcacld-3.0: Explicit convert QDF_STATUS to tSirMacStatusCodes
Fix implicit conversion warning/error by explicitly converting QDF_STATUS
to tSirMacStatusCodes in function lim_ft_send_aggr_qos_rsp.

Change-Id: I4b554411588225150659921b42cd2db65761261b
CRs-Fixed: 2071677
2017-08-06 00:59:47 -07:00
Naveen Rawat
8070934344 qcacld-3.0: Send correct tSirResultCodes on ROC response at LIM
Function lim_send_sme_rsp expects error code of tSirResultCodes type.
Convert QDF_STATUS to tSirResultCodes before sending.

Change-Id: I488167a22e8199455342a1ef3a17b0470d95b5bb
CRs-Fixed: 2071677
2017-08-06 00:59:45 -07:00
Varun Reddy Yeturu
ed1215ed10 qcacld-3.0: Fix conversion from enum tSirResultCodes
Fix implicit conversion from enumeration type 'tSirResultCodes' (aka
'enum eSirResultCodes') to different enumeration type 'QDF_STATUS'
[-Wenum-conversioni]

Change-Id: I72cbfb99d22d4747890b14d474a36b3c36d1c655
CRs-Fixed: 2071677
2017-08-06 00:59:43 -07:00
snandini
3be41c29e6 Release 5.2.0.37B
Release 5.2.0.37B

Change-Id: Ifdf63a7ff08159a31f10f09adb18b759abb7280b
CRs-Fixed: 774533
2017-08-05 23:53:32 -07:00
jiad
d91a6840f6 qcacld-3.0: fix a double-free in ipa uc ready callback
hdd_ipa_uc_loaded_uc_cb() allocates a msg buffer and passes it to
workqueue handler. Both hdd_ipa_uc_loaded_uc_cb() and workqueue
handler free the msg buffer, which leads to wrong memory dereference.

Fix is to return directly in hdd_ipa_uc_loaded_uc_cb() and let workqueue
handler free the msg buffer.

Change-Id: I842700e7fe94dc9a77fba966d918a054bc79f36a
CRs-Fixed: 2069189
2017-08-05 23:53:31 -07:00
Sridhar Selvaraj
48c4709f8d qcacld-3.0: Move sme_config local variables to dynamic allocations
sme_config is used as local variables with struct tSmeConfigParams
in multiple places causing stack frame size to increase. This is
causing build issues with 32 bit systems where the stack frame
size is limited to 1024 bytes for each frame.

Move multiple sme_config local variables to dynamic allocations to
reduce stack frame size.

Change-Id: I86a93546adf40bbbc19438c3b1e3a7ec0d38f39f
CRs-Fixed: 2074224
2017-08-05 23:53:29 -07:00
Frank Liu
3717379f00 qcacld-3.0: Fix invalid tx_desc access
Wrong to pass parameter by value so caller doesn't get the real allocated
tx_desc. The fix is to let ol_tx_prepare_ll return the allocated tx_desc
or NULL if fail.

Change-Id: Ic3910e45c02290ebd74766aa8f88902044decaa6
CRs-Fixed: 2084824
2017-08-05 23:53:28 -07:00
snandini
11c1928f86 Release 5.2.0.37A
Release 5.2.0.37A

Change-Id: I0bf5b295ecf78398bbfb805c6b9e650a3885c2e5
CRs-Fixed: 774533
2017-08-04 07:04:03 -07:00
Poddar, Siddarth
07eebf33bb qcacld-3.0: [TXRX] Reduce the log spam in Kmsg
Move the logs to appropriate log levels to avoid excessive
logging in kmsg.

CRs-Fixed: 2035110
Change-Id: If0e1706dcc926875ab68b590abf4745f81356580
2017-08-04 07:04:03 -07:00
snandini
2964b5bf85 Release 5.2.0.37
Release 5.2.0.37

Change-Id: I9f150e0263cbc50f17d72fe8fa02bc860a6e3f51
CRs-Fixed: 774533
2017-08-04 06:05:01 -07:00
Wu Gao
9a24fa7752 qcacld-3.0: Call htc stop in cds post disable
When driver unloading, htt tx detach and free tx desc, then flush
endpoint tx queue. A low rate case is that endpoint tx queue is not
empty with high latency platform, it will cancel tx and send packet
completion, then crash happens since of NULL point access.

Change-Id: I4918d4c678fffe8b07a1f3b1104e0732c5d960f8
CRs-Fixed: 2084045
2017-08-04 06:05:01 -07:00
snandini
ff1046bac6 Release 5.2.0.36Z
Release 5.2.0.36Z

Change-Id: Ib90ee46c8f337d4f6c766efd6d06ac5673337327
CRs-Fixed: 774533
2017-08-04 02:06:53 -07:00
Selvaraj, Sridhar
0ab68627a5 qcacld-3.0: Dont send peer_flush_tids cmd to fw for HO fail cases
When HandOff(HO) fails, set doNotSendOverTheAir flag so that LIM
does not send deauth and also does not send peer_flush_tids cmd
to FW as FW already did the cleanup.

Change-Id: I4721ad22e5c4229155ae9bd5f4d9624dca0a1879
CRs-Fixed: 2037621
2017-08-04 02:06:52 -07:00
snandini
929d777aba Release 5.2.0.36Y
Release 5.2.0.36Y

Change-Id: I95cb6b3bc1ee023f53e6155779d1845d9799b17d
CRs-Fixed: 774533
2017-08-03 22:08:15 -07:00
Deepak Dhamdhere
cad0391ea4 qcacld-3.0: Fix for QoS prioritization after roaming
Voice traffic is properly prioritized when a TSPEC is added to
the connection. When STA roams to a new AP, TSPEC is negotiated with
that AP, firmware is programmed to handle WMM access classes but
HDD is not notified of this change. This problem shows up only in
non-FT roaming. Ensure that AC flows are reinitialized after roaming.

CRs-Fixed: 2003210
Change-Id: I7b9e07cffa90eb966c4a23ff4c4db420fb0122fe
2017-08-03 22:08:14 -07:00
Deepak Dhamdhere
6f7fbbeb17 qcacld-3.0: Add a function to free fields of saved scan command
saved_scan_cmd has many fields that are allocated separately during
profile save operations. Add a routine to free those memory objects,
release the profile and avoid memory leaks.

CRs-Fixed: 2012430
Change-Id: I0d9fcb29ca7f8290692ba4b688ffe025d5b5d747
2017-08-03 22:08:13 -07:00
Deepak Dhamdhere
d40f4b1b62 qcacld-3.0: Fix peer ref count deletion during peer detach
Data path may be processing received packets while the peer is being
deleted. It may create an extra reference to peer. As a protection,
decrement peer->ref_cnt by the exact number of peer_id_ref_cnt
instead of resetting it to hardcoded value of 1. Peer object will be
freed only after the last reference count is decremented.

CRs-Fixed: 2023550
Change-Id: I457a0fdd9d0bea86d22139090afbd33bdc34f2ed
2017-08-03 22:08:11 -07:00
snandini
899c40ead2 Release 5.2.0.36X
Release 5.2.0.36X

Change-Id: Ie6258f40ba38cb38a31850cb6f999e8b8967d66a
CRs-Fixed: 774533
2017-08-03 19:49:02 -07:00
Himanshu Agarwal
4dc96c3a75 qcacld-3.0: Do not LRO aggregate if peer is not connected
We have race condition between lro flush of hif_napi_poll and MC thread
lro flush while flushing the ol_txrx_cached_bufq packets for peer. Avoid
the situation by simply marking the all the Rx packets as LRO ineligible
while enqueuing packets to ol_rx_cached_buf.

Change-Id: Ief0d7dd6c25cf45912820f0e237fd1179a57a5c7
CRs-Fixed: 2032674
2017-08-03 19:49:02 -07:00
Srinivas Girigowda
0517bfc356 qcacld-3.0: Fix clang warnings enum 'qdf_nbuf_l4_rx_cksum_result_t'
warning: implicit conversion from enumeration type
'qdf_nbuf_l4_rx_cksum_result_t' to different enumeration
type 'qdf_nbuf_l4_rx_cksum_type_t

Change-Id: If2b7ee179fa260c14cde450cc72272c41a9f4adb
CRs-Fixed: 2055487
2017-08-03 19:49:00 -07:00
Srinivas Girigowda
35b003149c qcacld-3.0: Fix clang warning: implicit conversion enum tDriverType
warning: implicit conversion from enumeration type 'tDriverType'
to different enumeration type 'enum driver_type' [-Wenum-conversion].

Move enum driver_type to QDF.

Change-Id: Ic89e4ee512a2d70c27324446257286aaafd49839
CRs-Fixed: 2055487
2017-08-03 19:48:58 -07:00
Srinivas Girigowda
4ffe7c8643 qcacld-3.0: Use the proper attribute PARAM_A_BAND_PELT_THLD
Due to the Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
PARAM_A_BAND_PELT_THLD was incorrectly replaced with
PARAM_A_BAND_BOOST_THLD.

Fix this and bring back the attribute PARAM_A_BAND_PELT_THLD.

Change-Id: I83d21c2b4662c82d2f26f3bcd10a549889f6df1e
CRs-Fixed: 2055487
2017-08-03 19:48:56 -07:00
Srinivas Girigowda
72f3039ec5 qcacld-3.0: Split __wlan_hdd_cfg80211_set_ext_roam_params()
Split __wlan_hdd_cfg80211_set_ext_roam_params() into
multiple functions to improve readability of the code and
fix clang warning (-Wframe-larger-than).

Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
CRs-Fixed: 2055487
2017-08-03 19:48:53 -07:00
Srinivas Girigowda
a8f66581e7 qcacld-3.0: Fix to set roaming capability in get_supported_features()
Because of obsolete macros FEATURE_WLAN_LFR and WLAN_FEATURE_ROAM_SCAN_OFFLOAD
roaming capability is not properly set in get_supported_features.

Fix this by using the proper macros.

Change-Id: I4dec8c32c71fde01b663e11e60f1da171adee3e4
CRs-Fixed: 2067126
2017-08-03 19:48:51 -07:00
Srinivas Girigowda
8df27eacb6 qcacld-3.0: Enable feature bits in get_supported_features()
This is a qcacld-2.0 to qcacld-3.0 propagation.

Enable feature bits WIFI_FEATURE_CONTROL_ROAMING,
WIFI_FEATURE_IE_WHITELIST and WIFI_FEATURE_SCAN_RAND.

Change-Id: Ia0f136e038e7da040faae04eaa11bcf56bb72443
CRs-Fixed: 1102187
2017-08-03 19:48:49 -07:00
Srinivas Girigowda
9eb807b939 qcacld-3.0: Fix array out-of-bounds & integer underflow in _iw_set_genie
This is a qcacld-2.0 to qcacld-3.0 propagation

'wrqu->data.length' holds the total number of IE data buffer.
Add a check to make sure the number of remaining data to be read is
greater than or equal to IE length.

Also, advance the buffer pointer to point to the next element only
if next element is present.

Change-Id: Ic60f3e0650f365955dab4099eb8740e9789e00cc
CRs-Fixed: 1100132
2017-08-03 19:48:47 -07:00
snandini
eda9a57a34 Release 5.2.0.36W
Release 5.2.0.36W

Change-Id: I5f583060496c0e37143afc12e3b9461ad7a08152
CRs-Fixed: 774533
2017-08-03 16:34:42 -07:00
Mohit Khanna
ceb9778bfc qcacld-3.0: Dump DPTRACE on cfg8011 disconnect
Dump the last few (100) DPTRACE records when a cfg80211 disconnect is
received from the userspace with reason code WLAN_REASON_DEAUTH_LEAVING.

Change-Id: Ib370f8d8b71f20364e0da73a1aee5673c0fc4ca4
CRs-Fixed: 2029713
2017-08-03 16:34:41 -07:00
Mahesh Kumar Kalikot Veetil
aff9486ae9 qcacld-3.0: Refactor hdd_register_interface()
Unify hdd_register_interface() and hdd_register_hostapd(). Update
failure log with error status and device name in case of
register_netdevice(), register_netdev() or dev_alloc_name() failures.

Change-Id: I428c73d473de6dc2e61567129e9f2a7996631729
CRs-Fixed: 2085098
2017-08-03 16:34:39 -07:00
jiad
9d472c9da0 qcacld-3.0: fix possible race condition in hdd IPA
hdd_ipa->sta_connected in WLAN_CLIENT_DISCONNECT case is not under lock
protection and is prone to race conditions.

Fix is to release event_lock after checking sta_connected so as to avoid
possible race conditions.

Change-Id: I6206d5d0cc2cf5df02ab4caf0de810961da21006
CRs-Fixed: 2082525
2017-08-03 16:34:37 -07:00
snandini
e462a71898 Release 5.2.0.36V
Release 5.2.0.36V

Change-Id: I4cc957cebe42d059ddb8951d0cedb2020ce98d89
CRs-Fixed: 774533
2017-08-02 14:04:37 -07:00
Hanumanth Reddy Pothula
30645a805e qcacld-3.0: Resolve out of bound memory access, while processing setpno
propagation from qcacld-2.0 to qcacld-3.0.

While processing setpno ioctl, there is an out of bound memory
issue when Host is copying ioctl arguments to a local buffer.

While copying ioctl arguments, make sure valid indices are used.

Change-Id: I03078df7135f5f1daf1d9bead7d4410e58fb848a
CRs-Fixed: 1112355
2017-08-02 14:04:37 -07:00
snandini
d94d513dec Release 5.2.0.36U
Release 5.2.0.36U

Change-Id: I417af58e9b3bc7528bd3469bd35ddf822beb47ec
CRs-Fixed: 774533
2017-08-01 10:02:53 -07:00
jiad
c6f5184601 qcacld-3.0: fix tx_desc vdev null pointer derefernce
In module exit context, vdev handle could be destroyed but still we
need to free pending completion tx_desc. And accessing vdev handle
of tx_desc will lead to null pointer derefernce.

Fix is to check vdev handle against null pointer.

Change-Id: Ib4e3127803f7bb0035466ec639401d7f8163598e
CRs-Fixed: 2074184
2017-08-01 10:02:52 -07:00
snandini
b4cc38efe7 Release 5.2.0.36T
Release 5.2.0.36T

Change-Id: I3ff154870b3a7615ed8fd770189827804be50e60
CRs-Fixed: 774533
2017-08-01 04:14:33 -07:00
Sameer Thalappil
64271516af qcacld-3.0: Install WLAN modules to KERNEL_MODULES_OUT
Add support to install WLAN module to KERNEL_MODULES_OUT.
During full treble build, modules installed directly in the
vendor locations gets wiped out during the build process.

CRs-Fixed: 2076401
Change-Id: I8229708da7c4d1a1c366b5b305f481ccb52f3833
2017-08-01 04:14:33 -07:00
snandini
919683e1eb Release 5.2.0.36S
Release 5.2.0.36S

Change-Id: I17359bfd737c9df253966c07c0b44d1454a47167
CRs-Fixed: 774533
2017-08-01 00:57:26 -07:00
Kapil Gupta
aa902a74fe qcacld-3.0: Enable PER roam by default
Add changes to enabled PER based roaming by default.

Change-Id: I72f0d4826b2841038e609dd0afcb771bcb715d49
CRs-Fixed: 2026668
2017-08-01 00:57:26 -07:00
snandini
e3040a4c3a Release 5.2.0.36R
Release 5.2.0.36R

Change-Id: Ie6bd8fc4052598f8d19b577b09a12105b4118484
CRs-Fixed: 774533
2017-07-31 23:52:57 -07:00
Himanshu Agarwal
83a875798a qcacld-3.0: Reduce tx completion drain delay to 500 ms
Reduce tx completion drain delay to 500ms from 1sec to avoid
unwanted suspend delay.

Change-Id: I0fa49f8c754e5d6ad33bf0fec7b4e02154ef49bf
CRs-Fixed: 2047750
2017-07-31 23:52:56 -07:00
Himanshu Agarwal
d8cffb33bd qcacld-3.0: Check for peer validity before enqueueing frames
There can be a race condition happening where frames are being
enqueued in cached buf queue for a peer in one thread whereas
cached buf queue for that same peer is being flushed in another
thread at the same time. This could result in memory leak in buf
queue.

Check for peer validity before enqueueing frames in peer cached
buf queue.

Change-Id: Idfb190def2aabc4439cd551c50aa811bae818ea3
CRs-fixed: 2038457
2017-07-31 23:52:54 -07:00
snandini
b5491125b6 Release 5.2.0.36Q
Release 5.2.0.36Q

Change-Id: Iff83aae07f6a3a2548c5dbbbd3371f927f9465cd
CRs-Fixed: 774533
2017-07-31 21:51:45 -07:00
Yingying Tang
d491e18b0a qcacld-3.0: Fix unknown symbol lim_process_sme_del_all_tdls_peers
lim_process_sme_del_all_tdls_peers is defined only when FEATURE_WLAN_TDLS
is enabled, but declared always. There is unknown symbol error when insmod
wlan.ko without this feature. Only declare/define when FEATURE_WLAN_TDLS
is defined to resolve this issue.

Change-Id: I817e5cc2bb22a4242f42c7398cbd00d01ff0a64b
CRs-Fixed: 2034861
2017-07-31 21:51:44 -07:00
snandini
5e5e812a4c Release 5.2.0.36P
Release 5.2.0.36P

Change-Id: Id0a14f77bc7f8d89574ff80d79f5c83a35e8c6fb
CRs-Fixed: 774533
2017-07-31 20:55:54 -07:00
Wu Gao
35a5cfec1b qcacld-3.0: Check tHalHanle pointer before access
Static analyze tool reports error, since NULL check for tHalhandle
is not present. Fix is to add NULL checks.

Change-Id: Ibe68b89809a36e0184523934e7b3aefbd732666a
CRs-fixed: 2083409
2017-07-31 20:55:53 -07:00
snandini
c0ea5c4aad Release 5.2.0.36O
Release 5.2.0.36O

Change-Id: Id9b3017e6ac194a094074883344b073a52a6e161
CRs-Fixed: 774533
2017-07-31 18:53:16 -07:00
Dustin Brown
84411b0e45 qcacld-3.0: Flush pending powersave timers during suspend
Currently, auto powersave timers are deferrable. This means any pending
auto powersave timers will not fire while the device is supended, which
can have a negative impact on wlan power usage. Instead, flush any
pending auto powersave timers during the suspend process, to ensure
powersave is enabled while the device is suspended.

Change-Id: I5911ee30eaf770909b728af73958ba1bbaa8457f
CRs-Fixed: 2080812
2017-07-31 18:53:15 -07:00