qcacld-2.0 to qcacld-3.0 propagation
"cfg80211_chandef_create" doesn't support channel width "HT80". If
create chandef by it, channel width set to HT40 when working on
SAP VHT80 mode. Which cause a mismatch between supplicant and host
driver. Update channel width and center freq for VHT80 mode
Change-Id: I9c5734fca4bcc02436aea8684ca9d0b968eb1dee
CRs-Fixed: 944618
qcacld-2.0 to qcacld-3.0 propagation
If a connect is received with previous connect already in progress,
sta connect state is moved from connecting to disconnecting and
disconnect is initiated to stop the previous connect.
If previous is present in sme/roam pending queue the disconnect
will abort the previous connect by removing the cmd from pending
queue. In this case the connect state is not moved back to
not connected from disconecting.
Thus the current connect command fails and all new connect command
will fail as the connect state will always be in disconnecting state.
To avoid this, move the connect state to not connected, once try
disconnect is issued internally.
Change-Id: Ia563f85df84cb9dbb3d3a82bc97127d39e7b1421
CRs-Fixed: 961559
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Remove #ifdef FEATURE_WLAN_LFR compiler flag from HDD so that the code
will always be compiled in.
CRs-Fixed: 936683
Change-Id: If5010bc1470a35b2f1516a5c5d10461352fd87fc
qcacld-2.0 to qcacld-3.0 propagation
The sap Context related phyMode should be used
instead of the phyMode in hal. Otherwise, the incorrect
channel width will be reported to supplicant.
Change-Id: Ic0ce7861a786de5aef8b43c6aa0fde9f600b08b2
CRs-Fixed: 909668
Currently Tx beamformee feature is enabled only in STA mode.
Add knob to enable or disable the Tx beamformee feature in SAP
mode
Change-Id: I6ea218b3bff6c973688aad716a3f1a3c8acc469b
CRs-Fixed: 963034
Remove unnecessary acquiring of SME lock in sme_roam_free_connect_profile
since this function does not access any SME structures.
Change-Id: I0ddafc4276ef5028b48fda0ae3ea4e6a0c23245e
CRs-Fixed: 958839
In case kmalloc fail goto end of function and properly free
other possible allocated memory buffers.
Change-Id: I41d7577471b475b0a2a0daa83c6ffc845314ceb4
CRs-Fixed: 958755
Rename API cds_is_load_unload_in_progress() to
cds_is_load_or_unload_in_progress() for clarity purpose.
Change-Id: I209c661ccee760f822d5df53577d822f3c741b37
CRs-Fixed: 964217
Driver unload is not waiting for external threads to exit
before starting clean up process. Add CDS SSR ready check
for driver unload such that driver unload waits for all
external threads to exit before cleaning up driver data
structures.
Change-Id: Ic5ac1b770dea8e470ed8dcce50a4f66451f918f1
CRs-Fixed: 964151
scan complete callback function is not
freeing scan request memory after scan completion.
Free the scan request memory after scan completion.
Change-Id: I2636e3b4576d2c86d88dc3e7684a196ed1838297
CRs-Fixed: 964244
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Fix style issues like conditional compilation with in the
function and other minor ones.
Change-Id: Iec2dc3aac934bbb90b87d4e8581e877e5b0a561c
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Create separate functions to update country code from module
parameter and initialize thermal mitigations settings in SME.
Change-Id: I84cf611347a5abadc16eeb46fed90934913e09ed
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Make separate function to open the interfaces at probe time.
Change-Id: Ia0044f5b0d0f009950d62556e09928ac578a1d4b
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
This is the first phase of changes to add a separate function to
allocate and initialize HDD context.
Change-Id: I35b6c95c1b09f853e83752123c44e8d21c8af50a
CRs-fixed: 959287
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.
Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
Remove the 4.9 GHZ channels from the driver stack.
4.9 GHZ channels are not being used for any country,
so remove them.
Change-Id: I135f997bb4c8ad7a536596b4e89eb037f41e0c73
CRs-Fixed: 856727
FEATURE_STATICALLY_ADD_11P_CHANNELS was a temporary solution for
builds that were not defining DSRC channels in db.txt. That
restriction no more holds true. Also correct the list of DSRC
channels in function cds_is_dsrc_channel.
Change-Id: I1146ec9702a8eec801b635a276e981962dd42817
CRs-Fixed: 856727
Change regulatory data structures and APIs to linux style.
Change the references to the data structures accordingly.
Leave data structures that would be deleted in subsequent
iterations as is.
Change-Id: I68dcd3485d3fb3d98f648b5844508356c3f3c29d
CRs-Fixed: 856727
Keep track of how many times supesend resume succeeds and fails
also mark last busy on a failed runtime suspend or a successful
runtime resume.
Change-Id: I04df805429e3a9ce91bc3d7f27bfd598396257c9
CRs-Fixed: 935300
HDD interfaces with the platform driver. Runtime suspend
is a callback registered with the platform driver. Coordinate
runtime suspend from hdd since it is both the logical entry point
and knows what other layers need to participate in a runtime suspend.
Change-Id: I80b71e504d0cd31bd5a8e47895db7e0bd233f6c3
CRs-Fixed: 935300
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.
Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
SME holds config item in tCsrConfigParams structure as well as some of
the same items in tSmeConfigParams which makes tCsrConfigParams super
set of tSmeConfigParams. There are high chances if somebody misses
copying item from tSmeConfigParams to tCsrConfigParams and that will
result in config item not being set correctly.
In order to make it clean and easy, merge both config structure in one.
Change-Id: I8c93d9fae0986cb90b4ed4c4712b1e2b023b4be3
CRs-Fixed: 963752
This is qcacld-2.0 to qcacld-3.0 propagation
Deactivate and clean up the logging thread during driver load failure and
ensure that logging thread is not enabled for FTM mode
CRs-Fixed: 961865
Change-Id: I53f85a30f52fc5715705624bf515ab5e4666db8e
This is qcacld-2.0 to qcacld-3.0 propagation
Avoid logging of all module logs into kmsg during the driver load
phase. All module log level is set much before setting of the
flag that indicates whether multicast logging is enabled or not.
Because of this all module log levels are getting printed for a
brief duration in kmsg during driver load. Fix the same by
setting the multicast flag appropriately so that when multicast
logging is enabled, all the logs are multicast to user space
and only the error and fatal messages continue to get logged in
the kmsg.
CRs-Fixed: 958705
Change-Id: I260e38ef64f704dfd9ca1ca4dc68c56428526559
qcacld-2.0 to qcacld-3.0 propogation
Previously trace logging levels are set from cfg.ini for different
modules which again over written by code. Ultimately code logging
preference was taking place.
After changes if the log level for any module is set to DEFAULT(0xffff)
then only code logging preference will be used else cfg.ini logging will be
preferred.
CRs-Fixed: 875973
Change-Id: Ia3df86908cec1d5c487d614a418721c0cd98fc52
Add new IOCTL 'CHANNEL_SWITCH' which is used to move the operating
channel of SAP/P2P-GO. This IOCTL is supported only for SAP/P2P-GO
and not for STA/P2P-GC.
E.g., format to issue command through wpa_supplicant:
DRIVER CHANNEL_SWITCH <CH> <BW>
- <CH> is channel number to move (1 for ch1, 149 for ch149 etc.)
- <BW> is bandwidth to move (20 for BW 20, 40 for BW 40 etc.)
Change-Id: Ie65f2ceb9ece04053ab32ee60f83fd09cd232f77
CRs-Fixed: 955368
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.
Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.
CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
pRoamInfo is not initialized in cds_force_sap_on_scc function.
This is resulting in build failure when FEATURE_WLAN_FORCE_SAP_SCC
flag is enabled. Modify cds_force_sap_on_scc function to fix the same.
CRs-Fixed: 953618
Change-Id: I136d33f108dab19c236c7bf1aadf7608c0673baf
sched_scan_lock and connection_status_lock's are using spin lock
APIs directly from kernel. Change to use CDF APIs for spin lock.
Change-Id: I0f56624df34682150b402fc36b9dfdba36a598f3
CRs-fixed: 959287
On M2M emulation platform we have a fixed mapping between macs, hence
vdev transition & MCC support is not possible on this platform. But MPR
platform doesn't have these limitations. This config allows at runtime
enable/disable vdev transition & MCC support depending on the platform
it is running on.
Change-Id: I17a92dce695ee30f7994f040d4bc612a38680f3e
CRs-fixed: 922181
Fix compilation issues on MSM8998 RUMI platform caused by
CONFIG_CNSS not being defined and un-initialized local variable usage.
Change-Id: Iaf8bec493a42ec9fd09e1b2b6aa085be8de4bc8a
CRs-Fixed: 959249
qcacld-2.0 to qcacld-3.0 propagation
-In case CSR is already connected and it receives connect with the
same profile, csr will silently return and try to send the connect
success to HDD. But if roamInfo staId is 0 this roam command is not
removed from sme active list and leads to active list timeout.
This back to back connect to CSR can happen if HDD and CSR go out
of sync and is taken care already.
-Also if disconnect is received in case scan for ssid is in progress
it will be dropped and roam session state is set to disconnecting.
But this roam session state is not reset for the fresh connection
and thus if next connect also issue scan for ssid the connect
command will be dropped assuming disconnect is in progress.
This change removes roam cmd from sme active list in case of
above failure and resets roam session state for fresh connections.
Also does some cleanup in HDD disconnect command.
Change-Id: I222626f1da6bdad83a5264668dde9aafd3dda149
CRs-Fixed: 953196
qcacld-2.0 to qcacld-3.0 propagation
If connect is received with previous connect in progress, driver
doesn't abort the previous connect and process the new connect.
In csr if new connect is for same profile, sme directly indicate
connection success to hdd and thus hdd increment the active
session count twice for both connect.
Now if one more connect is received it will try to disconnect the
previous connection and decrements the active session count.
So the count is 1 though no session is active.
Eventually if same scenario happens again the active session
count will become 2 with no active session. As max active session
limit is 2, no more connect is accepted.
To avoid this, if fresh connect is received and previous connect is
in progress abort the previous connect.
CRs-Fixed: 958963
Change-Id: I1544bc6e7894ffeda1956a19a553b6fe4e35f988
qcacld-2.0 to qcacld-3.0 propagation.
If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.
Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.
To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.
Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_driver_ops.c to use the unified set of APIs.
Change-Id: I5620e91797412c0dbf32c1071b3eefd54f54aca7
CRs-Fixed: 937590
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_lro.c to use the unified set of APIs.
Change-Id: I72bf2b55390e1c72706077d22f61e59d17d14f13
CRs-Fixed: 937662
Change "qcacld-3.0: Roaming enhancement to allow multiple ssid"
(Change-Id If4953e64f9e0485edec85167a7bc1dd6ca7c2047) added some
incorrect logging to function hdd_send_re_assoc_event(). The intent
was to perform a hex dump of the buf_ssid_ie and final_req_ie buffers,
but in reality the code actually uses these buffers as logging format
strings. Fix this by invoking the correct API to perform a hex dump.
Change-Id: Id861ececd119ea7247ce24c7c8ea9173f13703d3
CRs-Fixed: 958752
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_nan.c to use the unified set of APIs.
Change-Id: I4dcc61656f1cd45d3a2c9d63441c27a733385328
CRs-Fixed: 937673