There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Also move struct element_info from scan module to generic structures.
Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
Current dp_tx_desc structure size is 136 bytes,
re-arranged the fields to fit in exactly 128 bytes to
align with number of descriptor per page and page offset
bit maps
Also add a compilation assert on tx desc size
Change-Id: Ifcb18a9da637cb71c0427b56ad4054d2206ddfbb
Add code to use IS_ENABLED for CONFIG_WCNSS_MEM_PRE_ALLOC
kernel modules and remove inclusion of reduntant header
file cnss.h.
Change-Id: If1d098c7c6f326d12700f06318909a7fc0e7895a
CRs-fixed: 2702368
If QDF_TRACE is called with wrong verbose level then
the actual print is supressed and a error log will be
printed indicating wrong verbose level
This change is introduced because of an issue wherein
the prints flooded with wrong verbose level and could
not identify the incorrect caller
Add change to concatenate the actual print along with
failure message to help identify such incorrect callers
CRs-Fixed: 2716564
Change-Id: I19c4e80958c1ab5d621eea3a6d32308ce4c51558
In wlan_serialization_psoc_disable the timers are freed without
holding lock and at the same time the
wlan_serialization_cleanup_vdev_timers from vdev destroy handler
is accessing the timers, this result in cleanup_vdev_timers
accessing freed timer memory resulting in assert.
Fix is to free timer memory while holding timer lock. Also as the
lock can be used by vdev delete handler after freeing in
psoc_disable, move the init and deinit of the lock to psoc create
and destroy handlers respectively.
Change-Id: Idf822a91022de6b51c7ee1895f71b6fb94fedd72
CRs-Fixed: 2721064
The DMA Map/Unmap was restricted to buffer size in rx process.
But the Unmap API was not changed when free nbuf in rx desc,
apply the new unmap API.
Change-Id: Id10d746776aa9e41ef3425e166ba0207851358d6
CRs-Fixed: 2716690
Fix proper format specifier for qdf_debugfs_printf in
qdf_dpt_dump_stats_debugfs.
Change-Id: I3d357cb677c6419e13c3c2333b43d4cae2f2df41
CRs-Fixed: 2717408
Add the init and deinit CFR pdev api for adrastea target type.
cfr_adrastea_init_pdev api enables the CFR feature if both host and
firmware supports the feature, initialises the cfr pdev structure
and streamfs.
Also during allocation of memory requested by firmware, skip smaller
chunks memory allocation for CFR capture requested memory as firmware
expects contiguous memory.
Change-Id: Ib893dc8a845fea990a11e95e98d8a656f7df12ba
CRs-Fixed: 2687057
From kernel version 4.18 onward, the API to fetch pci_id
is deprecated.Assign "0" to pci_id for such case.
Change-Id: Ifb370999402ddc0889d982e251a7f8dea877b17d
In 11ax draft 6.1, the 6G starting frequency has been shifted by 10 MHz
to the right from 5940 to 5950. Make the following changes in various
variables and structures in the regulatory component:
1. Add a macro SIX_GHZ_NON_ORPHAN_START_FREQ.
2. Add an orphan channel frequency - 5935 MHz to the chan enum.
3. Shift every enum in channel_enum by 10 MHz to the right.
4. Shift MIN_CHANNEL_6GHZ and MAX_CHANNEL_6GHZ by 10 MHz on the right.
5. Shift every center frequeny by 10 MHz on the right in
bonded_chan_40mhz_list_freq, bonded_chan_80mhz_list_freq,
bonded_chan_160mhz_list_freq.
6. Shift every center frequeny by 10 MHz on the right in channel_map_us,
channel_map_eu, channel_map_japan, channel_map_global and
channel_map_china channel maps.
7. Change 6G starting frequency from 5940 to 5950 for operating class
131 to 135 in the global_op_class table.
table.
8. Add operating class 136 in the global_op_class table.
Change-Id: I3c82e2eb98cdaf0ff8754bd990529a1833276304
CRs-Fixed: 2704977
There are multiple places in the driver where the diag events
are reported and if the unload has started these diag events
are logged and dropped if there is storm of diag events because
of some thread message flushing this logging of the message will
cause excessive logging.
Remove the log as driver is unloading and it won't be sending it
userspace logging either.
Change-Id: Ie4c5caf44ad509da213f1bc76ff6ef6dfeecde2d
CRs-Fixed: 2716899
This fixes a CFI failure in callback assignment.
Currently, the callbacks in scheduler_msg are void function
pointers. Update them to have a defined type as
scheduler_msg_process_fn_t to catch type mismatch during
compilation.
Other changes to conform to this new type include:
1. Cast callback to qdf_mc_timer_callback_t when
referencing, and back when assigning
2. Cast wlan_serialization_generic_timer_cb to
take fit into scheduler_msg
3. Cast target_if_vdev_mgr_rsp_timer_cb to fit
into scheduler_msg
Change-Id: I052bc54826d377ae92f5bcc80ca08afb6f5e01e3
CRs-fixed: 2719975
For STA + STA roaming, instead of WMI_PDEV_SET_PCL_CMDID, the
WMI_VDEV_SET_PCL_CMDID needs to be sent.
Declare the corresponding send_vdev_set_pcl_cmd wmi tlv ops for
sending the WMI_VDEV_SET_PCL_CMDID command.
Also add changes to read the peer create confirmation and dual
sta roam feature support firmware capability.
Change-Id: I21456cb2e4c0b2bb66bf341539d2070677c49d16
CRs-Fixed: 2702849
After enabling FISA, getting compilation issue in WHUNT due to
-Werror=maybe-uninitialized.
Fix this issue by initializing the uninitialized variables.
Change-Id: I4bdb76ba445630fb09df440f587291f0c3e382ec
CRs-Fixed: 2717632
Add basic infra for connection mgr state machine
to handle connect and disconnect requests.
Change-Id: I671f62f66ab511912886c1da84c3a69be0032872
CRs-Fixed: 2707901
For some targets, whenever the recovery is triggered in the scheduler
thread context, in the same context the firmware dump collection
could also happen and can more time than the watchdog timeout for
the same.
So check and ignore watchdog timeout when the recovery is already
inprogress.
Change-Id: I0e74e73139a83c6361407fe2eef8d6d0cf2a5d8c
CRs-Fixed: 2718984
Currently, file transfer from DUT to comp device is slower
than expected. Disable burst scan in STA+GO/CLI scenario to
resolve this.
Change-Id: Ieded4aaa54f233cc288d6b6f3ef7051bfe5ec81f
CRs-fixed: 2703285
Add boot time log print in scm_add_update_entry so that it
should be printed for every beacon/probe response.
This will be useful in getting the value filled in
NL80211_BSS_LAST_SEEN_BOOTTIME.
Change-Id: I0d348db551ffc9f765d0b6d8e8654573b7b70654
CRs-Fixed: 2716941
Kernel reject the beacon/probe resp frame with invalid channel in
DS,HT info and HE IE, but same frame is added in the scan cache
and when mlme refer this frame, connect issues are seen due to
invalid channel.
Thus do not add the entry in scan cache.
Change-Id: Ib2891f95034b04be26c5feefed7c4354d8bb367a
CRs-Fixed: 2708975
Add basic build infra for connection manager's candidate selection
logic to include BSS scoring.
Change-Id: I5fad6b0ade4793061c9c0fe64cfdbd9aa6620336
CRs-Fixed: 2707106
Set preferred HW mode by default to HW_MODE_DETECT or HW_MODE_MAX
based on target type, also update preferred hw mode and num_band_to_mac
accordingly.
Change-Id: Iab231b182b54af15d09714e6cf3426c145d4ac3c
CRs-Fixed: 2711504
Interface down is received when wlan is in runtime
suspend state. The wmi commands that have to be sent
as part of this cause a runtime resume and the htc tx
queues are processed within runtime_resume callback.
The work that is scheduled for this tries to do a
runtime_get as part of htc_try_send but the runtime_status
is still in resuming state causing EINPROGRESS return
value. This will result in the wmi commands to be not sent
to firmware and eventually resulting wmi command timeout.
Fix is to do runtime_get_sync in htc_kick_queues.
Change-Id: I1f4ba1c3dad32f7c407c4416529424be6d4bf18d
CRs-Fixed: 2711998
Firmware sends WMI_ROAM_CAPABILITY_REPORT_EVENTID event asynchronously
to host during FW init. It indicates FW roam related capabilities to host.
scoring_capability_bitmap in the event indicates firmware candidate scoring
capabilities. Host uses scoring_capability_bitmap to calculate roam score.
Change-Id: Idd2cad257e5d783166bd8cc0418dd4f394989295
CRs-Fixed: 2716781
To introduce counters htc_send_cnt and htc_comp_cnt per endpoint to
enhance pdev level debugging in HTC path.
Change-Id: I8d31e3a533e0f8de4c89d3609b20c148aef3a4ff
Make reg_is_disable_for_freq and reg_is_disable_ch common for both WIN
and MCC, by moving the definition from reg_utils.c to
reg_services_common.c and declaration from reg_utils.h to
reg_services_common.h.
Change-Id: I6425c99b403580836d1ee41839086f4df3971091
CRs-Fixed: 2718047
In the function ucfg_scan_cancel_sync the driver uses
qdf_wait_single_event to wait for the scan event to be cancelled.
This timer is affected by the timer multiplier which causes unwarranted
wait times.
Replace the qdf_wait_single_event with a simple qdf_sleep.
Change-Id: Ib4149dff5677956f5c8bc48f7f72d2bf5eda664f
CRs-Fixed: 2695569
The function "ucfg_dfs_is_hw_pulses_allowed" should return bool and has
a compilation error
"return' with no value, in function returning non-void".
Return the bool type "false" when the dfs is a NULL object.
CRs-Fixed: 2715235
Change-Id: I8717aaedd1ac8208ce6257721d5890b82ca13a8f
The API of_get_pci_domain_nr() is deprecated from
kernel version 4.8 onwards.Hence, alternate API should
be used.
Change-Id: I95decbd2a855ec16f013168c8678816c8a017c81
Remove cipher_caps from wlan_crypto_reset_prarams as it
is FW capability and should only be set once when vdev
is created.
Change-Id: I8beab7ead2217ead532bfaacc0eea133d90cdd0e
CRs-Fixed: 2716728
There should be no reason to have macro CONFIG_CRYPTO_COMPONENT.
Replace CONFIG_CRYPTO_COMPONENT with WLAN_CONV_CRYPTO_SUPPORTED.
Change-Id: Ief2b015a8e48c85c383470c669254abfa7404585
CRs-Fixed: 2705994
Adding support for iot_sim drop operation.
Drop operation will be handled in Rx direction.
Change-Id: If2e1c9663a69fcd16715cdd1d28639a388ea1c0c
CRs-Fixed: 2686309
Optimize the content change operation
code for action and non-action type frames.
Change-Id: Ie3719715eebbe465851f4b84ffb6deefbab81844
CRs-Fixed: 2684013
Move all the Runtime PM related HIF code changes to the
common section, from if_pci.
So that, could be leveraged for other HIF interfaces
like if_ipci to use.
Change-Id: Id8303acd519ab07f307311971fb55c45476f30bf
CRs-Fixed: 2699419
In driver there are multiple implementations to read the number of
1's set, have a generic qdf implementation to get the same.
Change-Id: Idf769c221b33e867720943fb8c42158edd9600de
CRs-Fixed: 2716525
Currently hif_info is used for printing irq details
in hif_pci_configure_grp_irq, this may cause excessive
logging so use hif_debug log type instead.
CRs-Fixed: 2696837
Change-Id: I75d79f6040ecb1fe30b2192ce3a34685af5370ab