Host updates channel bandwidth to the max supported bandwidth
on disconnection.
hdd_cm_disconnect_complete_post_user_update
-> hdd_set_mac_chan_width
--> hdd_update_channel_width
---> sme_set_he_bw_cap
It causes that it could not support low BW, setting BW should
backward compatible to resolve this issue.
Change-Id: I05be526d701052c0147b5aa3ac1effa8d38b246f
CRs-Fixed: 3541945
Currently, In case of SAP CSA, there is a race condition
driver handles the eSAP_DFS_CHANNEL_CAC_START event
from "SAP_INIT" state and move SAP state to "SAP_STARTING"
in schedular thread. Parallelly, if SAP state is used in
hostapd context to handle the event without being updated
which may lead to a assert.
To fix it, handles the eSAP_DFS_CHANNEL_CAC_START event in
"SAP_STARTING".
Change-Id: I01a535c6f86cdf0eff5bb91be870ab33604fb849
CRs-Fixed: 3541842
move hif_ce_desc_history_log_register to hif_open and move
hif_ce_desc_history_log_unregister to hif_close is more suitable.
Change-Id: Iab99ef119c717aba2de46d1f2731d9cb4131b761
CRs-Fixed: 3549458
Currently, when an ML probe response is received for an ML link,
probe response are generated for all other links within driver
and added to scan db. MAX_MGMT_MPDU_LEN(2304) bytes of memory is
allocated for these just before deriving new frames.
Though the max frame-size never exceeds this, some static analyzer
tools complain on the max length check as there could be
buffer overflow.
Add a check while adding the entry to scan db to avoid
possibility of buffer overflow.
Change-Id: Ie55b40b9b73f12f20483f331fa2c25cca94f9b6f
CRs-Fixed: 3547419
In STA+SAP concurrency mode, and the setting allows STA+SAP
SCC on DFS channel with DFS master mode flex, SAP should
not switch to non-DFS channel when adding a new interface.
The checks in hdd_check_and_restart_sap_with_non_dfs_acs are
already there when STA connects/disconnects or upon start SAP,
it is not required when any new iface is created.
Change-Id: Ie39406d8a7bb53d3655195ddeb78cc5005b4777c
CRs-Fixed: 3532667
BTM frames offloaded to userspace are sent from
lim_check_mgmt_registered_frames() ->
lim_send_sme_mgmt_frame_ind(). But the vdev id passed to the
lim_send_sme_mgmt_frame_ind() API is retrieved from the
registered mgmt frames list pointer. So invalid vdev id is
passed and MLD address translation doesn't happen. This
causes the BTM frame to be dropped at the userspace.
Pass the vdev id from session id
Change-Id: If6a3c65c73349f176531ba6d8cc9590374a00440
CRs-Fixed: 3541821
currently while STA+Monitor mode is coming up, STA is disconnected.
The sta connection status is quiered from the policy manager, in
ML-STA case the policy manager has STA+STA concurrency which is not
satisfying the current assumption that there will be only one STA
connection resulting in monitor mode operating in the connected state.
Consider the ML-STA case and disconnect the ML connection when
ML-STA + Monitor is coming up.
Change-Id: I2881cb7797089cf1808ce1163a598a1f2bb67455
CRs-Fixed: 3530655
FEATURE_WLAN_CH_AVOID_EXT isn’t defined for HMT, just defined for HSP,
so restriction_mask isn’t checked in policy_mgr_is_safe_channel, SAP
can't start on unsafe channel even INI force_start_sap=1.
Change-Id: Ie75f62d8649ac9c735a34e83b3d3d786976888bf
CRs-Fixed: 3547298
In current design, host driver doesn't allow the
channel width upgrade directly via VHT operation IE.
Allow upgrade of VHT channel width through VHT
operation IE.This will cause VDEV restart to upgrade
the channel width
Change-Id: Ib6a63b72df03b4d4f56cdb0c91d1f5c8ca4612ce
CRs-Fixed: 3537460
"mlo_vdev_get_by_link_id" may return NULL in failure case.
Add NULL check and release the vdev after process in
function: epcs_handle_rx_req and epcs_handle_rx_resp.
Change-Id: Ia1575b4fbcfde326d8e9b5c7b0562852ca23912b
CRs-Fixed: 3547906
If "gDisableDFSChSwitch" ini is set, SAP do not change the
channel even if radar is detected. Instead, the SAP is
expected to do a CSA to the same channel. However, during
this CSA, the bandwidth is downgraded to 20 MHz.
To fix this, retain the current SAP operating channel width
in CSA similar to the channel.
Change-Id: I7fa65765ce5f5d249ec65904749af589679dfe3e
CRs-Fixed: 3538115
Enable the central logic to manage multiple VDEVs from a
single adapter and keep the code under the feature flag.
Enable WLAN_HDD_MULTI_VDEV_SINGLE_NDEV flag in build to
create single adapter which manages multiple VDEVs.
Keep the existing code which manages link adapters under
WLAN_HDD_MULTI_VDEV_SINGLE_NDEV flag undefined condition.
New number of active links field:
-Introduce new member in adapter which stores number of links
to create as part of VDEV create, this value to stay same
throughout the lifetime of adapter which will be used to
restore the number of links on adapter mode change.
On mode change this value is used to set number of active
links bitmap in adapter restrict access of link_info elements
based on adapter type and mode.
Currently only one STA adapter will have the value of two
representing two VDEVs to be created for the purpose of
two-link ML connection, remaining all adapters will have
only one link enabled.
New MAC address field:
-Introduce link_addr field in per link data structure which
holds link address incase of ML adapter and remove mld_addr
member in adapter structure, the mac_addr member in adapter
will now hold the netdev address, incase of ML adapter that
will be the MLD address.
To get adapter from MAC address, also search each active
link's link_addr member, the link address is filled in
link_addr member during start adapter and as part of
stop adapter, remove the derived link MAC address in
each active link info to avoid conflict of new MAC address
set on different adapter.
Change-Id: If78f75b78a6e42df9df18509aea7fe18e2aa77ff
CRs-Fixed: 3524362
Iterate all active links for cleaning up connection info
on close adapter to avoid memory leaks.
Change-Id: Ib3dc11d67dd023104a2289409257c29d2dd8cb14
CRs-Fixed: 3524046
Check the sme opened status of all links in adapter
to identify any open interface.
Change-Id: Ic49f375ff4eefae2a0da460aacd57bc8782ba06c
CRs-Fixed: 3524033
Introduce new API which checks for duplicate session on all the
valid addresses in the adapter.
The existing sme_check_for_duplicate_session() API is extended
to take list of addresses to check for duplicate entry.
The list argument is expected to be NULL terminated to exit the
loop.
Change-Id: I71629aa89e901041d787de18e2305dbbbca5aa50
CRs-Fixed: 3524015
To deinitialize per link information, introduce new API
to deinit each active links in adapter.
New API: hdd_deinit_session()
Change-Id: Icc4bedd85818e40b8543c4f397c04367405f8889
CRs-Fixed: 3523981
Start station adapter will iterate through all active links
in the adapter.
Refactor SAP start adapter to point to deflink in adapter.
Change-Id: I32ee223305893007ce4db5370f52054e0ab411ca
CRs-Fixed: 3523950
Modify the hdd_vdev_create() API to accept link info pointer
as function argument to create VDEV for that particular link info.
The VDEV info is saved in that link info post successful VDEV
create.
Change-Id: I1fd25e93094c34d2ecf8479cbf1f2ebf1566160b
CRs-Fixed: 3523922
To initialize the station context in link info, pass
the link info pointer to station mode init. Callers
can call on per link to initialize each link individually.
Move netdev flags set and wext register and deregister
to caller of hdd_init_station_mode()
Change-Id: Idbe527d037fc91d3e03269c0577570fc6f30413d
CRs-Fixed: 3523895
Move the deinit code of OCB opmode adapter to new API.
New API: hdd_stop_ocb_adapter()
Change-Id: I55627881a226196a2eedd11e01f24cd5ae4e6759
CRs-Fixed: 3523816
Move the cleanup code of SAP/P2P_GO type adapters to
new API and call the API from hdd_stop_adapter_ext().
Move ucfg_ipa_flush() to end of cleanup as it is specific to pdev.
New API:hdd_stop_sap_go_adapter()
Change-Id: I046312a4a928889c7be30182b27300e0b1af2fd6
CRs-Fixed: 3523806
Move the cleanup code of monitor type adapter to
new API in stop adapter.
New API: hdd_stop_mon_adapter()
Change-Id: I841f6862c1ccf068e63751869b432cb9da1cfdb6
CRs-Fixed: 3523777
Move the stop adapter logic of below OPMODEs to unified
function. The function is called on adapter level and internally
all the active links are cleaned up.
1) QDF_STA_MODE
2) QDF_P2P_CLIENT_MODE
3) QDF_NDI_MODE
4) QDF_P2P_DEVICE_MODE
5) QDF_NAN_DISC_MODE
Change-Id: I54dea594e643329d0dfc6ebb7a9dc6f411bff0eb
CRs-Fixed: 3523734
Modify the API to take link info pointer of VDEV to destroy.
The API can be used to iterate all the eligible links in adapter
during interface down.
Introduce new API deinit of vdev destroy event completion variable
and to reset all vdev IDs to invalid on open adapter.
Change-Id: I28c0fff88cac79af94bcb7df7604373150eac052
CRs-Fixed: 3523683
Move the IEs reset on SAP/P2P_GO adapter stop to new API
1) hdd_reset_ies_on_sap_stop()
Modify the below API to take link info pointer to reset VDEV
probe response IEs.
1) wlan_hdd_reset_prob_rspies()
Change-Id: Ia386be49aa19b51d97e3d9eb0368c68a2886c437
CRs-Fixed: 3523646
Move cleanup of pre cac adapter in stop adapter to new API.
New API:
1) hdd_stop_and_close_pre_cac_adapter()
Change-Id: I358349e65a0bfa2227b5d93ac6395c13dac9b442
CRs-Fixed: 3523625
Move RTPM wakelock release on monitor mode stop and session
delete to new APIs.
New APIs
1) hdd_monitor_mode_release_wakelock()
2) hdd_monitor_mode_disable_and_delete()
Change-Id: Ib1b0d060fd96dc131d54e1261cadf67e3c23e1d4
CRs-Fixed: 3523612
Move the code logic to disable active NAN discovery
in stop adapter to new API.
New API: hdd_disable_nan_active_disc()
Change-Id: I60c0c36484cdf2ddabe99a5666ccdfd9e2a0b1d5
CRs-Fixed: 3523577
Move the disconnect of connected vdev during stop adapter
for STA and P2P_CLIENT modes to new API.
New API: hdd_sta_disconnect_and_cleanup()
Change-Id: Ifd14244f6e2e538e9b07cdf2440e0998430ff0a1
CRs-Fixed: 3523561
Iterate through all the active links in adapter to restart
SAP on unsafe channels.
Change-Id: Ieb4eff375b9156b18613d42d044533094a11a352
CRs-Fixed: 3522689
Move the NDI cleanup code to new API and move
hdd_any_valid_peer_present() API to take link_info
as function argument instead of adapter.
1) hdd_any_valid_peer_present()
2) hdd_peer_cleanup()
3) hdd_stop_and_cleanup_ndi()
Change-Id: I7eccb056fa3e1fe0d90b94e8603144bc1c9e30ea
CRs-Fixed: 3523547
Move APIs related to IP notifier work callback and flow control
deregister to two new APIs.
New APIs:
1) hdd_cancel_ip_notifier_work()
2) hdd_adapter_deregister_fc()
Change-Id: Id76a92f52d80fb7e0ed52d46bb52a95b22cbd25e
CRs-Fixed: 3523483
To fill the VDEV array from adapters, loop through all the
active links in each adapter.
Change-Id: I5607a8d7afaa3a2e6df210cfff4e678050505f42
CRs-Fixed: 3523474
Modify the following APIs to take link info pointer as function
argument to reset/abort scan on the corresponding VDEV.
Also enchance the iterator to loop through all the active links
in each adapter.
1) hdd_reset_scan_operation()
2) wlan_hdd_scan_abort()
3) hdd_abort_mac_scan_all_adapters()
Change-Id: I3da827b496712bc9fbe52e7cdcf432de2210b0d8
CRs-Fixed: 3523463
Iterate through all the active links in adapter in the following
APIs to loop the VDEVs.
1) hdd_reset_all_adapters()
2) wlan_hdd_auto_shutdown_enable()
The below API is changed to take link info pointer as function
argument
1) hdd_send_twt_del_all_sessions_to_userspace()
Change-Id: I689037a11c86602e7f9a2cd1f0b66ddeaa1a4228
CRs-Fixed: 3523139
Move SR changes from WMA to Target_if and remove
WMA api's which was previously using to update
SR threshold.
Change-Id: I219cd56195471df561a5789fb235e375a14e756c
CRs-Fixed: 3374674
ACS will mark non ACS channel(filtered by PCL) to SAP_ACS_WEIGHT_MAX.
But the filtered channel still need a reasonable weight to
calculate the combined weight for ACS bw 40/80/160/320.
Assign weight value SAP_ACS_WEIGHT_ADJUSTABLE to such channels and
update it with reasonable after all channels weight are computed.
Change-Id: Iba6565a0f57cc3fe4997427733e922eefc917516
CRs-Fixed: 3537962