See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update sap_cleanup_channel_list() to use the true struct pointer type.
Change-Id: Iea5bc4d9f2b94622a87e66bd4e0f41b9fab54a64
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history. Update wlansap_de_register_mgmt_frame() to use the true
struct pointer type.
Change-Id: I41231b3ed7d43bdd8d3e250673b3ad1985ecd60d
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history. Update wlansap_register_mgmt_frame() to use the true
struct pointer type.
Change-Id: I4f1816f30b54c21e98119fe12c8bcca4a5be93de
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history. Update wlan_sap_getstation_ie_information() to use the
true struct pointer type.
Change-Id: I7a3be736210ffe44c89dd96c7d70e4fda04938c6
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_modify_acl() to use the true struct pointer type.
Change-Id: I91aa0e55f1f08a28417108dae76205c0785cd163
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_stop() to use the true struct pointer type.
Change-Id: Ic5b8108cd599de44ae1f03489b4621630fa56662
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_start() to use the true struct pointer type.
Change-Id: I20c27e75c0e4d1dce52316f39ce3cad9f4187533
CRs-Fixed: 2116267
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_close() to use the true struct pointer type.
Change-Id: Ia0f05b1ed80b3cc317f8951e6d1ccd94eee35c9c
CRs-Fixed: 2116267
At one time the WLAN driver only supported a single SAP. At that time
most SAP APIs took the global context pointer as a param, and from
that they could extract the pointer to the one & only SAP context.
Later the MBSSID feature was added, and conditional compilation was
introduced such that either the global context pointer or a per-BSS
SAP context pointer was used. Finally in qcacld-3.0 the conditional
compilation was removed, leaving just the MBSSID behavior. However one
of the artifacts that was left behind was that the SAP APIs are
currently defined to take a void *context which prevents the compiler
from performing proper type checking.
Update wlansap_open() to return the true struct pointer type so that
it can then be used by other SAP APIs.
Change-Id: I216ed653e4feb9960357a168d4981e7a7a92411e
CRs-Fixed: 2116267
Change "qcacld-3.0: Remove hdd_softap_tkip_mic_fail_counter_measure()"
removed the only caller of function wlansap_set_counter_measure. Since
this function is now unused and obsolete, remove it.
Change-Id: I6fc7ab24351dca41b22aabf40a82509448c795b0
CRs-Fixed: 2115342
Change "qcacld-3.0: Remove obsolete SAP support for SIOCSIWGENIE"
removed the only caller of function wlansap_set_wparsn_ies(). Since
this function is now unused and obsolete, remove it. As a result the
APWPARSNIEs field in the SAP context is also no longer used, so remove
it as well.
Change-Id: I02a1f0597688367650796b1334b6144a6afff6ee
CRs-Fixed: 2114956
sap_dfs_is_channel_in_nol_list will return true even for the channels
which are not in the nol list.
When sap_dfs_is_channel_in_nol_list gets bonded channels, it gets the
bonded channels of current channel of the sap rather than the input
channels, so after radar is detected, the current channel of the sap
is in nol list, and sap_dfs_is_channel_in_nol_list returns true for
all input channels.
sap_dfs_is_channel_in_nol_list should get the bonded channels of input
channels.
CRs-fixed: 2105496
Change-Id: I7c5fc06c66c004aa5c1a208376d1ab4b88956a6f
NULL constant is unsuitable for sapEvent parameter since following
may be called:
sapEventInit(sapEvent);
vosStatus = sapFsm(sapContext, sapEvent);
Change-Id: I2ffc1be27f96bcbd793b2302e6c5920b5d30073b
CRs-Fixed: 2111290
Currently the SAP has logic to extract and locally save a collection
of Additional IEs. But this is legacy code inherited from a version
of the driver that supported in-driver SAP, and now the SAP
functionality is handled primarily by hostapd. Since this local copy
of the Additional IEs is never used, remove it.
Change-Id: I9bb1f7d44dfdeb4c908016aad365ee1b94a97b29
CRs-Fixed: 2114375
Currently the SAP has logic to extract and locally save the WAPI
IE. But this is legacy code inherited from a version of the driver
that supported in-driver WAPI, and now the SAP WAPI functionality is
handled by hostapd. Since this local copy of the WAPI IE is never
used, remove it.
Change-Id: I57cad0d8e44ff1ca5a7a61454a21aac61bf873c0
CRs-Fixed: 2114153
The SAP no longer maintains WPS information internally and the
APWPSIEs struct in the SAP context is no longer referenced, so remove
it.
Change-Id: If4a30626913fdacb751a434458a2e3918665a352
CRs-Fixed: 2113553
Change "qcacld-3.0: Remove obsolete wlansap_get_wps_state()" removed
the last consumer of the SapGlobalLock infrastructure. Since this
infrastructure is now unused, remove it.
Change-Id: I4646a7796073b259351d8cff48a424ef8741c9cf
CRs-Fixed: 2113552
Currently in hdd_hostapd_sap_event_cb() when processing the
eSAP_STA_ASSOC_EVENT and eSAP_STA_REASSOC_EVENT events a call is made
to wlansap_get_wps_state(). This is a legacy call inherited from a
version of the driver that supported in-driver WPS. But now that WPS
is handled by hostapd this functionality is obsolete and should be
removed.
Change-Id: Ia52d9554ed4b3a44726a4cac268eae77856cbd18
CRs-Fixed: 2113551
struct sap_WPSIE_s, as well as the structs it contains, were inherited
from a prior version of the driver where SAP WPS was implemented in
the driver. Since SAP WPS is now handled by hostapd these structs are
unused, so remove them.
Change-Id: Iabdd7f3b83668cb203614353b4766fb0b40fbd05
CRs-Fixed: 2110167
Fix the regression issue introduced by change
"Change-Id: Ica336398865a8b5e16297e4555dbb7de5e79567e".
The issue is that it will always include driver default rates.
In some case it only needs to calculate supported rates from hostapd.conf
file. Define ini item gChanSwitchHostapdRateEnabled to configure supported
rates calculated from hostapd.conf file or driver default rates when doing
SAP channel switch.
Change-Id: I45eeea5134dd80929bdd1f61246bdc66e1857e22
CRs-fixed: 2103714
Add data structures to save beacon tx rate.
The beacon data rate is multiples of 100 Kbps.
Firmware expects the data rate in the form of hw rate codes.
So convert the data rates to hw rate code.
And send it to firmware.
Change-Id: Ia39fd4c14defa729f75f2c45748fe5b04b909647
CRs-Fixed: 2099052
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 ptSapContext typedef does not
meet any of those criteria, so replace it.
Change-Id: Ia08bea35b7c0d3b3dfad4641c1c79a7c0990cd8d
CRs-Fixed: 2109993
Currently wlansap_open() takes a p_cds_gctx parameter. At one time
this was needed, but that is no longer the case, so remove this unused
parameter.
Change-Id: Ie110b3cee9898233fb921aaab223caa4cf93de4e
CRs-Fixed: 2109961
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 tSapContext typedef does not
meet any of those criteria, so replace it.
Change-Id: If237edee7638c1c6b35413312cb3dd934554431a
CRs-Fixed: 2109960
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename struct sSapContext to align with the
Coding Style. The associated tSapContext and ptSapContext typedefs
will be cleaned up as a subquent effort.
Change-Id: I83962e1c574491039597559fb8b16f3339d41fbd
CRs-Fixed: 2109959
Macro CDS_GET_HAL_CB() currently takes a ctx parameter. At one time
cds_get_context() needed a pointer to the global context, and hence
the reason for the parameter. But now that cds_get_context() no longer
needs the global context, remove the parameter from the macro. This is
a precursor to removing the p_cds_gctx from the SAP config.
Change-Id: Ic75bab55fd8b87710aee99b7e2d3783361dc3d87
CRs-Fixed: 2109955
Cleanup duplicate APIs for get ie pointer from EID or OUI or EXT_ID
and use wlan_utils exposed by qcacmn.
Change-Id: Iacbf041c9c49b2aedeffecba3427e9334cb70dcc
CRs-Fixed: 2105377
Fix misleading ACS logging that indicates best channel and final
channel selected are different.
Change-Id: I00a2a15fa9d709c3e78ebf580d599ec10deefb28
CRs-Fixed: 2105204
Channel 13 and channel 9 can be combined to HT40. The channel weight of
13 is updated with channel 9 when chStartNum of acs_ht40_channels24_g
is 9 in sap_sort_chl_weight_ht40_24_g, however at this time the channel
weight of 9 may be already updated to SAP_ACS_WEIGHT_MAX * 2 when the
chStartNum of acs_ht40_channels24_g is 1. In such case channel weight of
13 is updated incorrectly.
When update the channel weight of 13, use original channel weight of
channel 9 and channel 13.
Change-Id: Iab16cd5b1ab45fdf2f9805767d81c6fc997ee4be
CRs-Fixed: 2105213
sap_api.h currently exports sapCleanupAllChannelList() but the
implementation of that function is no longer preset, so remove the
obsolete prototype.
Change-Id: Ic7fae1985edebde3784e33aed09d011acbcd251d
CRs-Fixed: 2108350
Functions wlansap_set_wps_ie() and wlansap_update_wps_ie() are unused,
so remove them.
Change-Id: I9552ee4404961ae2973f0c0aefc0821fb7ba5a1e
CRs-Fixed: 2108347
Functions wlansap_remove_wps_session_overlap() and
wlansap_get_wps_session_overlap() are unused, so remove them.
Change-Id: Ib36fe420478ea9a5c5485a4cff6b5bd01d2a51f5
CRs-Fixed: 2108345
sap_internal.h currently exports wlansap_clean_cb() but the
implementation of that function is no longer present, so remove the
obsolete prototype.
Change-Id: I850b3de45d27d3d8332278d10714254d93ffd2b3
CRs-Fixed: 2108341
sap_api.h currently exports wlansap_stop_Wps() but the implementation
of that function is no longer preset, so remove the obsolete
prototype.
Change-Id: Iee2fa74b0863a1d80ff9d7cbb9695b9a2cd086a3
CRs-Fixed: 2108340
qcacld-2.0 to qcacld-3.0 propagation
Before this change the ACS calc process only consider the
channel's rssi and bss count in this channel, in this change
add noise floor, channel free statistics and tx power in the
ACS calc process.
Change-Id: I654e53fa2441e03723f150d973c124985c67f2b4
CRs-fixed: 1050316
During channel selection for SAP via ACS, add check if there is
a connection on 5Ghz, don't allow SAP to select DFS channel.
Change-Id: If6e42cbc584ddb80588daf138d94d2e0a75b882a
CRs-Fixed: 2102024
In Dual band SAP+SAP, if channel change for a SAP, the SAP get
stuck in eSAP_DISCONNECTING state, waiting for channel change
indication for the concurrent SAP, which may never come as this
is Dual band SAP+SAP and both are on different bands.
Now when stop adapter is called for this SAP, the stop BSS fails
as its already in disconnecting state and due to this it is not
deleted cleanly.
To fix this if DBS is enabled change the channel of the AP on
which CSA was initiated without waiting for other SAP interface.
Change-Id: I54d903d4fc0694b16c1f1debf52ffe2a6dad0ba9
CRs-Fixed: 2097002
If STA is up & SAP is comings up on a ACS derived channel causing MCC,
move SAP to the other band if DBS is supported. This logic is enabled
only if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION.
Change-Id: I48d809f83921292f51ca1735bff4c4d6dd339975
CRs-Fixed: 2063060
If STA is up on a a DFS or passive or LTE unsafe channel & SAP is
comings up that causes MCC, move SAP to the other band if DBS
is supported. This logic is enabled only if gWlanMccToSccSwitchMode
is set to QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION.
Change-Id: I5d393a21301f3fa838f7cf38620fb1d57ae1d57a
CRs-Fixed: 2063060
Make sure to update NOL correctly for all the right bonding channel.
Irrelevant channel will be marked as eSAP_DFS_CHANNEL_UNAVAILABLE if
wrong bonding channel is gotten.
Change-Id: I40420bdc881ce83aadbce87c10911507be4f3144
CRs-Fixed: 2093557
qcacld-2.0 to qcacld-3.0 propagation
Allow device switch to a different channel if the current channel is
congested, using the 11h channel switch announcement.
Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5
CRs-Fixed: 2082632
Add missing qdf_spinlock_destroy() to destroy spin lock debug cookie
for SLUB build. For normal builds, qdf_spinlock_destroy() is a NO-OP
function.
Change-Id: Idccdc9f7acaea785a600e14304368f53ff7e17d7
CRs-Fixed: 2077964
SAP selects different channel between cld2.0 driver and cld3.0
driver in ACS mode, which leads to confusion.
In cld2.0 driver, channel with the least weight is the first
choice, and non-overlap channel will be selected only when
overlap channel is disabled and its weight is not bigger than
the first choice channel.
In cld3.0 driver, non-overlap channel will be selected when
overlap channel is disabled.
The behavior in cld2.0 is more reasonable. Make cld3.0 driver
follow cld2.0 driver.
Change-Id: I6243ace8db7314c698a9b554e65794d2ee66e555
CRs-Fixed: 2086287