Commit Graph

704 Commits

Author SHA1 Message Date
Manjunathappa Prakash
8280a15953 qcacld-3.0: Add WMA API to know if vdev is roaming
Add WMA API and DP ol_if callback to know if vdev is roaming in progress

Change-Id: Ice43413516d8b2490bf7ddf6fcac85ee5dee421b
CRs-Fixed: 2458886
2019-06-03 02:26:49 -07:00
gaurank kathpalia
7ef7218496 qcacld-3.0: Add support for roaming in case of NUD failure
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.

Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
2019-06-02 01:51:38 -07:00
Pragaspathi Thilagaraj
e05162d92b qcacld-3.0: Rename pe_session member bssIdx
The Linux Coding Style doesn't allow mixed-case names so rename
bssIdx in struct pe_session to be in compliance.

Change-Id: Idf2df6cb4ca30e4fdae74b8fb39445bb878003c5
CRs-Fixed: 2459768
2019-05-27 15:33:33 -07:00
Pragaspathi Thilagaraj
afd0a48d1c qcacld-3.0: Rename pe_session member eSirBssType
The Linux Coding Style doesn't allow mixed-case names so rename
eSirBssType in struct pe_session to be in compliance.

Change-Id: Iafe6649a130c77064180c67fb1385d2d7a763370
CRs-Fixed: 2459767
2019-05-27 06:07:09 -07:00
Abhishek Singh
bb9deb4ae0 qcacld-3.0: Release vdev ref and delete pending peers in wma close
In hdd_vdev_destroy, if policy_mgr_check_and_stop_opportunistic_timer
decides to move to single mac mode and while sending the HW mode change
the target goes down, this leads to timeout of the HW mode change req in
WMA layer which is 2 sec and in serialization its 4 sec, but
policy_mgr_check_and_stop_opportunistic_timer timeout in 1 sec and proceed
to sme_close_session and wait for it to complete.

sme_close_session queue WLAN_SER_CMD_DEL_STA_SESSION to serialization but
it remains in pending queue, behind HW mode change req.

Now due to SSR the wait event for sme_close_session is set and thus
hdd_vdev_destroy logically deletes the vdev.

Now on WMA timeout the HW mode change try to remove the request from
serialization which it fails to remove as it fails to get ref for vdev
with vdev being logically deleted.

Thus WLAN_SER_CMD_DEL_STA_SESSION is not processed and is flushed in
hdd_wlan_shutdown.

Thus as SSR WLAN_SER_CMD_DEL_STA_SESSION is flushed from serialization
queue, the wma_vdev_detach() is not called for that vdev and thus the
peer attached to the vdev are not deleted and wma vdev ref is also not
released, this lead vdev/peer ref leak.

To fix this update the wait timeout in
policy_mgr_check_and_stop_opportunistic_timer with proper value higher
than the serialization timeout for the HW mode change request. ALso
set the wait event in policy_mgr_pdev_set_hw_mode_cb in failure cases
as well to avoid timeout in case of hw mode change failures.

Also release pending peer and vdef refs in wma_wmi_service_close.

Change-Id: I5ddf8263b0dbf889be506332a67f5e18c1bfb111
CRs-Fixed: 2458034
2019-05-24 23:13:17 -07:00
bings
1117283ca4 qcacld-3.0: Don't set WMI_PEER_NEED_PTK_4_WAY for FILS connection
When FILS authentication is performed, the key confirmation is
performed as part of the FILS exchange using association frames.
Hence, no additional 4-way handshake is necessary. But still the
host driver sets the WMI_PEER_NEED_PTK_4_WAY flag as part of
peer_assoc command. So firmware expects setting key command after
4-Way handshake is completed. But host sends the set key command
before M4 in this case, which results in firmware assert.

Don't set WMI_PEER_NEED_PTK_4_WAY for FILS connection.

Change-Id: I13451bd7592d5836c16cd648235f691b11aafb15
CRs-Fixed: 2458097
2019-05-24 13:50:00 -07:00
Jiani Liu
6d3b6a16ab qcacld-3.0: Add PTP timestamp socket options TX support
Host need to fill netbuf with qtime instead of tsf. So
host need to add tsf64 enable/disable related functions
and definitions to sync with FW.

The tsf64_time is new added to fw/host structure, so host
need to add parse functions to get tsf64_time from tx_desc.

Change-Id: Ieea0d8f905eb57629d279f8da0e811857b760b1f
CRs-Fixed: 2444456
2019-05-23 22:57:27 -07:00
Rajeev Kumar
c58f7c2578 qcacld-3.0: Add change to support DRV during wow mode
Add changes to support DRV feature during wow mode.

Change-Id: I588dfc5fa1bc419a288f346664c4028ef2d2011b
CRs-Fixed: 2456148
2019-05-23 13:12:17 -07:00
Srinivas Girigowda
7357aa662d qcacld-3.0: Replace WMA BCAST/MCAST macros with QDF BCAST/MCAST
Replace WMA BCAST/MCAST macros with converged QDF BCAST/MCAST
macros.

Change-Id: I4f629597ccbf2ef756dce9ee23c6ecf875905915
CRs-Fixed: 2455150
2019-05-20 15:28:18 -07:00
Abhishek Ambure
7acc2c1609 qcacld-3.0: Cleanup VDEV_SM legacy code
Legacy code of VDEV SM is no more used, hence this cleanup is done.

Change-Id: I8dc649639c4c1afb4ae206a046fe530e172bced9
CRs-Fixed: 2454039
2019-05-17 16:21:48 -07:00
Srinivas Girigowda
851a6c0cb1 qcacld-3.0: Remove obsolete macros
Remove obsolete (unused) macros.

Change-Id: I969d6a0e4fd65ced65839b62e40506b9ce3df529
CRs-Fixed: 2453510
2019-05-16 07:45:38 -07:00
Abhishek Singh
f880a7df25 qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

Add changes to store cipher info in peer and use it to calculate
MIC length for the frame if CRYPTO_SET_KEY_CONVERGED is defined.

Change-Id: I852e4b519f55d8020237989314f8506aa275f379
CRs-Fixed: 2444416
2019-05-01 23:41:43 -07:00
Pragaspathi Thilagaraj
b017650fc7 qcacld-3.0: Handle WMI_ROAM_EVENTID with deauth/disassoc reason
When AP sends deauthentication/disassociation frame, host will
handle the deauth/disassoc frame. If the ini
"enable_disconnect_roam_offload" is enabled, firmware will
trigger a roam scan immediately after deauth/disassoc is
received and roam to a new AP. If roam failure happens after
this roam scan, firmware will send  WMI_ROAM_EVENTID with reason
WMI_ROAM_REASON_DEAUTH.

Register a WMA callback to call the PE disconnect handler
function. This will call lim_tear_down_link_with_ap() to
handle the deauth state machine changes and posts message to
sme to inform the link lost info.

Change-Id: I404b019595b96c0710d09cb9218e3a1d28924fc7
CRs-Fixed: 2443219
2019-04-29 04:17:20 -07:00
Arun Kumar Khandavalli
a423458219 qcacld-3.0: Propagate error from the hdd to wma in case of failure
When the ready event is received from the firmware, hdd callback
is called to create the pdev and update the capabilties. If
there is any error the error is not propogated back to hdd
which can result in the accessing the invalid memory.

Propagate the status correctly from hdd to wma to resolve this issue.
This will result in the probe failure until the resources are available
or reference leaks are fixed.

Change-Id: I97ec062893216e25e285d95d6bfb5cf3e91a4005
CRs-Fixed: 2426612
2019-04-25 00:51:26 -07:00
Pragaspathi Thilagaraj
eb367282fd qcacld-3.0: Handle wmi_key_material_ext tlv of ROAM_SYNCH event
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.

Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.

Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.

Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
2019-04-24 20:23:59 -07:00
Paul Zhang
a25f75a841 qcacld-3.0: Add INI to config tx retry threshold
Add gTxAggSwRetry for tx aggregation case, and
Add gTxNonAggSwRetry for non tx aggregation case.

Change-Id: I92265fb4e279eaf63c45f0134f997df02bca8737
CRs-Fixed: 2436305
2019-04-24 04:05:41 -07:00
Pragaspathi Thilagaraj
2b8ea35e71 qcacld-3.0: Introduce new INI to configure roam trigger parameters
Add new ini to configure various roam trigger parameters:
1. "minimum_btm_candidate_score"
   Consider the AP as roam candidate only if its score is greater
   than minimum_btm_candidate_score. This value will be sent over
   the WMI_BTM_OFFLOAD_CONFIG command.

2. "roam_scan_inactivity_time"
   Device inactivity monitoring time in  milliseconds for which
   the device is considered to be inactive with data packets
   count is less than configured roam_inactive_count.

3. "roam_inactive_data_packet_count"
   Maximum allowed data packets count during
   roam_scan_inactivity_time.

4. "roam_scan_period_after_inactivity"
   Roam scan period in ms after device was in inactive state.

5. "btm_roam_score_delta"
   Roam scan delta value for btm triggered roam scan. This value
   will be sent to firmware over the WMI_ROAM_AP_PROFILE wmi
   command.

6. "idle_roam_score_delta"
   Roam scan delta value for Idle roam scan trigger reason. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_delta_param_list tlv.

7. "disconnect_roam_trigger_min_rssi"
   Candidate minimum rssi value for disconnect roam trigger. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

8. "beacon_miss_roam_min_rssi"
   Candidate minimum rssi value for BTM triggered roam. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

9. "bss_load_trigger_5g_rssi_threshold"
   If connected AP is in 5GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_5g_rssi_threshold.

10. "bss_load_trigger_2g_rssi_threshold"
   If connected AP is in 2GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_2g_rssi_threshold.

Change-Id: Ib026251a8ec403f4376a16a91ff1b5d969336816
CRs-Fixed: 2434922
2019-04-19 04:08:32 -07:00
Arif Hussain
50689083eb qcacld-3.0: Add support to send bcast capability to firmware
If both INI and FW capability is set,
enable capability flag in twt enable command.

Change-Id: I1c070256c4b672b09a1323665fc5a2f166f951fb
CRs-fixed: 2423752
2019-04-06 11:35:42 -07:00
Abhishek Singh
7c1c7431da qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

To fix store cipher info in peer and use it to calculate MIC length
for the frame.

Change-Id: I8afbf9a3bb43c294dbacbbaa7fa0746600937d11
CRs-Fixed: 2428482
2019-04-05 03:33:17 -07:00
Arif Hussain
5393734002 qcacld-3.0: Remove unused code from wma
Remove unused members from wma_txrx_node,
t_wma_handle structures and related code.

Change-Id: Ia5b290e3367a894646f138cfeedcb9ab3012e9be
CRs-Fixed: 2412738
2019-04-03 23:52:41 -07:00
Bala Venkatesh
e45f03d6c2 qcacld-3.0: Return proper status to HDD
Return correct status of fw_test_cmd to HDD

Change-Id: Ic43a44825caf9cd5ce4f58ba702f4c25ccde709b
CRs-Fixed: 2424294
2019-04-02 15:15:45 -07:00
Arun Kumar Khandavalli
deda5a812c qcacld-3.0: Add support to improve coex logging
Add support to get the various Coex data from the debugfs.
This commit adds the support to get the various coex data:
            * COEX STATE
            * COEX DPWB STATE
            * COEX TDM STATE
            * COEX IDRX STATE
            * COEX ANTENNA SHARING STATE
The specific state information can be read via the debugfs.
Example to read the COEX STATE logging:
            sm6150:/ # cat /sys/kernel/debug/wlan/mws_coex_state
                    vdev_id = 0
                    coex_scheme_bitmap =  0
                    active_conflict_count = 0
                    potential_conflict_count = 0
                    chavd_group0_bitmap = 0
                    chavd_group1_bitmap = 0
                    chavd_group2_bitmap = 0
                    chavd_group3_bitmap = 0

Change-Id: I92272ad7edf44df22730ac0fa992d876840ba632
CRs-Fixed: 2413943
2019-03-29 00:47:53 -07:00
Srinivas Girigowda
a47b45f94f qcacld-3.0: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
PMO_80211_ADDR_LEN
IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HTT_MAC_ADDR_LEN
ETHERNET_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
QCSAP_ADDR_LEN

CRs-Fixed: 2406592
Change-Id: I829c5799e4724f81af996b23fdd4ea03f4728bc4
2019-03-28 16:49:58 -07:00
Sandeep Puligilla
d8546bb3eb qcacld-3.0: Send MBSSID BSS information to firmware
Send MBSSID BSS information like profile number
and max profile count to firmware as part of VDEV
UP command.

Change-Id: I612f0be9c52fd61b25d1c884940f28ce9fe0872e
CRs-Fixed: 2399999
2019-03-20 22:09:23 -07:00
Arif Hussain
1f58cbbf36 qcacld-3.0: Add support to process twt qca vendor command
Add support to process twt qca vendor command.

Change-Id: I2691ce7d1cc50798d99104389fe2213791ebdf78
CRs-Fixed: 2328891
2019-03-20 06:34:02 -07:00
Jingxiang Ge
bd540b1cd0 qcacld-3.0: Get wlan op mode from vdev for pktlog
To avoid using qcacld code in cmn, when getting
wlan op mode, using op mode info from vdev rather
adapter.

Change-Id: If8432aae12800884e3a4567d99319afcdfa9d1f5
CRs-Fixed: 2412315
2019-03-19 21:16:58 -07:00
Abhishek Singh
72a04bf418 qcacld-3.0: Remove unused lim_is_system_in_scan_state
lim_is_system_in_scan_state was used when scan was handled by host
and with scan offloaded the API always return false and thus is
of no use. Also the SCAN state used by it are never set.

Thus remove the unused scan state and lim_is_system_in_scan_state.

Change-Id: Ie9b78340035d85805cc9416f557b683a0a3be232
CRs-Fixed: 2417851
2019-03-19 16:51:03 -07:00
Srinivas Girigowda
2d56c36a61 qcacld-3.0: Use converged qcacmn macros (part 2)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: I8c7e07587111bc3b783138623249da692168d9d3
CRs-Fixed: 2416429
2019-03-19 02:24:27 -07:00
Srinivas Girigowda
cf161406dd qcacld-3.0: Use converged qcacmn macros (part 1)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: Ie05f396fcd2e01cf86256f25dbc171bbdf763da9
CRs-Fixed: 2416429
2019-03-19 02:24:23 -07:00
Jeff Johnson
36583f0647 qcacld-3.0: Converge on struct plm_req_params
The driver currently defines two different data structures to hold
PLM Request parameters:
- legacy struct plm_req
- unified WMI struct plm_req_params

To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.

Change-Id: I7675686aba9590a4507a8f9ebffcbf181ee00a21
CRs-Fixed: 2411817
2019-03-17 12:54:10 -07:00
wadesong
e1fc997982 qcacld-3.0: Code refine for SSDP and DTIM config
1) 'ssdp' in t_wma_handle structure is not used anymore,
   remove this redundant field.
2) ucfg_pmo_set_sta_mod_dtim and ucfg_pmo_get_sta_mod_dtim
   should have been accessing 'sta_mod_dtim' instead of
   'sta_dynamic_dtim' in struct pmo_psoc_cfg.

Change-Id: Iedd7bed1c9f637a819f97b6d8c687b784739dd62
CRs-Fixed: 2415087
2019-03-13 23:21:20 -07:00
Srinivas Girigowda
69e60dbbde qcacld-3.0: Remove obsolete macros/enums from the code
Remove obsolete macros/enums from the code.

Change-Id: I398f4d65bcfc996bbaf12076b55b7e6cf9e182be
CRs-Fixed: 2414803
2019-03-13 19:41:17 -07:00
Jeff Johnson
223169db3f qcacld-3.0: Remove encPolicy from tDphHashNode
The encPolicy member of tDphHashNode is initialized but is otherwise
never modified or read. Since it is obsolete, remove it, along with
the macros that define the values that it formerly used.

Change-Id: If6698217b6c7d10840f0776c77678861be026c2b
CRs-Fixed: 2414653
2019-03-13 06:49:02 -07:00
Yeshwanth Sriram Guntuka
fa9f3798cd qcacld-3.0: Add Diag Log support for cold boot cal event
Add Diag log support for logging cold boot calibration
data sent by firmware via cold boot cal wmi event.

Change-Id: I932fd5f87667498b77ee13ca5b3ce08d6001cdf0
CRs-Fixed: 2413450
2019-03-12 18:57:30 -07:00
Ashish Kumar Dhanotiya
0213793334 qcacld-3.0: Clear PTK, GTK and IGTK keys on sta disconnection
Currently PTK, GTK and IGTK keys are not getting cleared
on wifi link disconnection from wifi driver memory, which
can lead to information disclosure. Clear PTK, GTK and IGTK
keys from wifi driver memory to avoid any potential information
disclore after wifi is turned off.

Change-Id: I309cd7af8d396167e9ec3ef9c6c443e8c08903d8
CRs-fixed: 2396603
2019-03-11 19:22:55 -07:00
Jingxiang Ge
45a2433bca qcacld-3.0: Fix camelCase for sessionId in t_packetmeta
Replace sessionId with session_id in t_packetmeta.

Change-Id: I041d25a5a5f61dd65fea25d41fa11d6456e4e88f
CRs-Fixed: 2413150
2019-03-11 07:46:54 -07:00
Jeff Johnson
b07230f434 qcacld-3.0: Refine sys_process_mmh_msg()
There are currently a multitude of issues with sys_process_mmh_msg()
so update both the interface and the implementation to align with good
software engineering practices and the Linux Coding Style.

Change-Id: I76e53772dd72426cc4245756457e2a8140937571
CRs-Fixed: 2411714
2019-03-08 04:36:32 -08:00
Jeff Johnson
82ff607daf qcacld-3.0: Remove wma_send_regdomain_info_to_fw() extern
To align with the Linux coding standard as enforced by the checkpatch
script, remove the extern from the wma_send_regdomain_info_to_fw()
prototype. Furthermore, to align with software engineering best
practices, relocate the documentation so that it is the interface that
is documented, not the implementation.

Change-Id: Ie1993d3132517fac993b4c5556fe82c6bfbfe016
CRs-Fixed: 2411713
2019-03-08 02:39:01 -08:00
Nachiket Kukade
15bd4f725e qcacld-3.0: Define WMA callback to update NDI conn info
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.

Use WMA callback for updating NDI connection info.

Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
2019-03-07 00:20:26 -08:00
Sandeep Puligilla
3746d5db95 qcacld-3.0: Enable vdev manager support for LFR3.0
Enable vdev manager support for LFR3.0

Change-Id: I5e8a420eadd98786fe43d7d6e60980209f7a42e1
CRs-Fixed: 2405842
2019-03-06 10:59:37 -08:00
Pragaspathi Thilagaraj
1d8e2ab528 qcacld-3.0: Replace typedef bss_description
Host driver code has several instances of struct bss_description
that is type defined to tSirBssDescription, *tpSirBssDescription
This goes against the linux coding style. This change replaces
tpSirBssDescription with struct bss_description *.

Also Linux Coding Style doesn't welcome mixed-case names. So
cleanup some mixed-case variable names as well.

This change should be followed by changes to replace
typedef tSirBssDescription also ultimately.

Change-Id: Ic6fa2d5c7db0d0c1fe4be1096d416295dcb83779
CRs-Fixed: 2409129
2019-03-06 10:59:28 -08:00
Qun Zhang
ef65562bcd qcacld-3.0: Support firmware state check through cfg80211 vendor cmd
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.

Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
2019-03-01 09:23:49 -08:00
Rakshith Suresh Patkar
5f9efa342a qcacld-3.0: Post PEER_UNMAP_RESPONSE cmd to mc thread in ho fail
Unable to send WMI_PEER_UNMAP_RESPONSE_CMDID for peer ids in case
of WOW + ROAM failure scenarios, where target is suspended. This
will cause peer ids leak in the firmware.

Post the PEER_UNMAP_RESPONSE cmd to mc thread in case of ho fail.

Change-Id: I5b9e0fc874ab31f401f7adc8cff22fbc20811acb
CRs-Fixed: 2396094
2019-02-26 16:28:45 -08:00
Jeff Johnson
4c6d40f67d qcacld-3.0: Converge on struct rssi_monitor_param
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct rssi_monitor_req
- unified WMI struct rssi_monitor_req

To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.

Change-Id: Ia3336b68dac84ce8aeb53ea6d5be8b9f2e0f1736
CRs-Fixed: 2404088
2019-02-26 04:26:19 -08:00
Dustin Brown
6ca9b026b1 qcacld-3.0: Remove reference to VOS_STATUS
Some documentation still mentions VOS_STATUS. Update these to
QDF_STATUS.

Change-Id: I31a48715c23f24c310eb51a6eddf3ec6d4193258
CRs-Fixed: 2403794
2019-02-25 21:47:16 -08:00
Jeff Johnson
38d0ce6787 qcacld-3.0: Converge on struct gateway_update_req_param
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct gateway_param_update_req
- unified WMI struct gateway_update_req_param

To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.

Change-Id: Icc56c4d83808e3661593d2e4735533442d48eb7e
CRs-Fixed: 2404089
2019-02-24 21:34:51 -08:00
Jeff Johnson
517ee49b3a qcacld-3.0: Converge on struct tdls_peer_update_state
As part of the original TDLS componentization the legacy typedef
tTdlsPeerStateParams was replicated as qca-wifi-host-cmn struct
tdls_peer_state_params. Subsequently when the TDLS component was
relocated back to qcacld-3.0 this struct was replicated again as
struct tdls_peer_update_state in the qcacld-3.0 TDLS public structs.
Unfortunately this left the driver with three different data
structures which serve the same purpose. Not only is this pointless,
but due to the way in which these structures are used there is an
implicit requirement that they be exactly identical. Further
complicating matters is the fact that these three structures each have
embedded structs which are also replicated. This approach is very
fragile since any change to any of these structs must be replicated
across the entire set. To align with the converged software
architecture and to improve code maintainability exclusively use the
TDLS public structs.

Change-Id: Id6d44a1bc0fe530957db3d9f9ab948e2af775433
CRs-Fixed: 2400766
2019-02-24 06:31:38 -08:00
Jeff Johnson
a9ade7d8d4 qcacld-3.0: Replace typedef tSirAutoShutdownCmdParams
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 tSirAutoShutdownCmdParams
typedef does not meet any of those criteria, so replace it with a
properly named struct.

Change-Id: Ia15a4cb0cfd3ef8868aaa7eaa77cd5dbb44423d0
CRs-Fixed: 2400334
2019-02-19 11:59:30 -08:00
Jeff Johnson
8bfc29e8cc qcacld-3.0: Converge on struct dhcp_offload_info_params
The driver currently defines two different data structures to hold
DHCP Server Offload configuration:
- typedef tSirDhcpSrvOffloadInfo
- struct dhcp_offload_info_params

To align with the converged software architecture as well as the Linux
coding style remove the legacy typedef and exclusively use the unified
WMI structure.

Change-Id: Ia2b537a917bbe9e36ba4bc3b289e8c2e9ec630d6
CRs-Fixed: 2399938
2019-02-18 20:50:22 -08:00
Jeff Johnson
e77641ea77 qcacld-3.0: Fix DHCP_SERVER_OFFLOAD featurization
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.

Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
2019-02-18 20:50:17 -08:00