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
If precac interface is in the middle of CAC, do not
entertain any CSA request coming as part of userspace/
country change/unsafe channel handling. Processing the
Channel change request in middle of CAC leads to teardown
of the SAP as SAP is in SAP_STOPPED state.
This leads to pre-cac failure.
To fix this, prevent CSA while CAC and once CAC is finished,
check the sanity of the operating channel based on
unsafe/disable channel list and move it to a valid channel.
Change-Id: I2757753a2a13bdaef60f9b9a46fcd569ddb7306c
CRs-Fixed: 3505593
For the following iterator APIs, loop through all the active
link info in each adapter.
1) hdd_is_roaming_in_progress()
2) hdd_is_any_adapter_connected()
3) hdd_get_con_sap_adapter()
Change-Id: Ic48011f4fa2e833e2c18c1ea72b5a75d9c1e8133
CRs-Fixed: 3523126
Now that all the draft 3.0 version related changes are merged update
the draft version accordingly.
Change-Id: If6a4d1e1cef8923af03d321229bba0443f37103a
CRs-Fixed: 3545914
To report best RSSI of all the links, iterate through
all the active links in adapter.
Change-Id: I2cea05894e5e3e946ea604ec2965401334ee8c8b
CRs-Fixed: 3523109
Modify the adapter iterate function pointer
hdd_adapter_iterate_cb() to take link info pointer as
function argument. The API can be called for each
link info pointer in adapter to iterate.
Change-Id: I0908667ed34067c61e857ff2b1d30a3bbccdb31f
CRs-Fixed: 3523082
Club the almost similar implementation of of below two APIs and
refactor to a single API to enable and disable roaming on other
VDEVs.
Removed:
1) wlan_hdd_enable_roaming()
2) wlan_hdd_disable_roaming()
New API: wlan_hdd_set_roaming_state()
Change-Id: If59ca593a6a994bbc879c5fda8ae36ce34c5839a
CRs-Fixed: 3523066