A service bit is used to indicate support for MBSS IE.
This is set as capability in host at psoc level.
In host, we also maintain a flag for user to configure
MBSS support at pdev level. It could be used in future.
Change-Id: I31a27a755fb027de93bfe6c9639fdbda9693bace
CRs-Fixed: 2403030
Check for completion status of the ppdu based on
HTT_PPDU_STATS_USR_COMMON_TLV and
HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV.
Update the stats only when completion status is ok else
update retry and failed frames count.
Change-Id: Iac7730715f853746d77873488b7886e7beed467d
CRs-Fixed: 2390383
When user sets the vendor ie for probe request frame, it is not
included in the broadcast probe request sent by FW.
Add support to send vendor ie info in scan start command to FW. Therefore,
FW can include this vendor ie in the broadcast probe request frame.
Change-Id: Ie5fc0c074bd7543568a135d3ef4662bf09b274f6
CRs-Fixed: 2400265
Currently the driver returns EINVAL, instead of EBUSY if
the driver encounters a case of simlutaneuos scan, and
DBS scan is disabled for user space, and thus it may lead
to failure of OBSS scan, which can further lead to SAP
fail.
Fix is to return EBUSY intead of EINVAL, so that hostapd
can try to get the scan module perform a scan, which can
increase the probablity of SAP bringup.
Change-Id: I798e3d1ad0f62a5240603b4344963cb3ee637c13
CRs-Fixed: 2403499
Format the current SM history logging.
Add single header line and merge two
line outputs into one.
Print the SM history in the order the events
are updated in the events circulat buffer.
Change-Id: I2bb2076231cc3ea625938f9ff77d1c601f740b83
CRs-Fixed: 2408488
Add support for reset ast entry and table, also send
ast entry type to upper layers in delete callback
Change-Id: I6b420fba5bab50519e8954a1e796b04bc0768ef8
CRs-fixed: 2384550
If AP change its status from hidden to broadcasting SSID in its beacon
kernel drop the beacon entry as its confusing. Now during connection
driver try to update the entry in kernel and it fails and as kernel drop
the beacon the connection fails.
To fix this detect if AP changed its ssid type from hidden to
broadcasting and unlink the old bss from kernel in that case.
Change-Id: I10ec42749ebcd2ddea23f7f3a94d862124df156d
CRs-Fixed: 2410430
Add change to use different field in vdev_mlme_obj
to hold phy_mode as expected by WMI instead of using
des_chan->ch_phymode which is of type wlan_phymode
This also solve issue with starting preCAC timer
for VHT80 mode
Change-Id: I2fccd4716b455178b66587ef6992d4a98f3fa290
CRs-Fixed: 2409931
When IPA using GSI instead of UC different IPA TX and RX
clients needs to be configured. In this change when IPA
uses GSI configure appropriate TX and RX clients/pipes.
Change-Id: I0302323d91f0cc4256a1b08ddbb1345d0daa2939
CRs-Fixed: 2368003
Replenish buffers consumed during monitor packet processing
and map it to the rx_desc_pool associated with a pdev.
Change-Id: Ia844c92c6b61bbb22ae42d38796aad2f29756b5e
CRs-Fixed: 2407502
VOW stats is an extension of regular stats to capture
all drops per TID. Delay counters per TID are also
included.
Change-Id: If6087f37b32cf9ae4bb405190a358ad3c9750dd2
There are multiple issues with the Link Layer Stats Unified API:
- struct ll_stats_clear_params and struct ll_stats_get_params both
incorrectly use the identifier "sta_id" to refer to a vdev_id.
- struct ll_stats_set_params has an unused "sta_id" field.
- Functions wmi_unified_process_ll_stats_clear_cmd() and
wmi_unified_process_ll_stats_get_cmd() pass the MAC address as a
separate parameter rather than adhering to the commonly used
unified signature: func(handle, param).
- Not all of the functions and data structures are correctly protected
by the WLAN_FEATURE_LINK_LAYER_STATS feature flag.
Refine the Link Layer Stats Unified API to address these issues.
This is co-dependent with Ifd7c8de2358121dae4752525ff57021a32be85d3
("qcacld-3.0: Use the refined Link Layer Stats Unified API").
Change-Id: Ifdc1fada55a559f3b3d0837ec20cceb653c45c40
CRs-Fixed: 2409293
netbuf in send_packetdump is never checked for null before
dereferencing it for len netbuf->len.
Change-Id: I51aa0fb9c52e04c33291791ef47def703754222d
CRs-Fixed: 2404844
Some of the print messages in HAL module come very excessively.
Use hal_verbose_debug() API to print them.
CRs-fixed: 2405028
Change-Id: I4b4754af65c00edb571de898527026b6183ef15f
Some of the print messages in Data-path module come very excessively.
Use dp_verbose_debug() API to print them.
CRs-fixed: 2376998
Change-Id: Ibaec3751ce3cbe98492c531548e613c7d17db898
In datapath, some of the messages get printed everytime when packet
is received or sent. This situation ends up in excessive logging which
leads to stability issue.
In order to fix the situation, provide knob through INI to control
excessive logging and create new macro for logging the message which
comes under per packet path.
Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
CRs-Fixed: 2376998
Update the enum qca_wlan_vendor_attr_offloaded_packets
with the one present in the hostapd's qca-vendor.h
Change-Id: I510d91ab55705f6eed7e676fcda9c469e5c72aca
CRs-Fixed: 2404707
Consider a WDS Repeater(RE) connected to the Root on a DFS channel and
reverse CSA is enabled. When RE detects radar, it adds the radar infected
channel to its NOL list and it informs the Root of the radar detect. Let
the target channel chosen by the Root be a DFS channel.The RE on receiving
the RCSA, brings down the STA vap and begins to scan again.
The scan is initiated from the supplicant (wlan_cfg80211_scan) and it
provides all the supported channels including the NOL channels.
(supplicant is unaware of the radar detect and NOL channels).
As the scan channel list sent to the FW includes NOL channels, FW reports
DFS SCAN VIOLATION and all DFS channels are blocked in RE.
The supplicant keeps sending the same scan list but scan is never
successful and thus the RE does not connect back to the Root.
To fix the DFS violation, remove the NOL channel(s) from the scan channel
list before sending the list to the FW.
Change-Id: I62090e381c11fab78ab1ee920da77f3603f48eaf
CRs-Fixed: 2405532
It has been observed at that several issues have crept into mainline due
to qdf_mem_copy() gracefully returning when the source or destination
pointers are NULL. In order to prevent such regressions in the future,
change calls to qdf_mem_copy/move/set/zero/cmp() with NULL pointer
parameters so they panic in debug builds.
Change-Id: I6df4c42245ed1d0d8a85477f59552f8243488924
CRs-Fixed: 2408266
The below change:
qcacmn: Use wrappers for bus-oriented OS API's
missed to release the reset_control leading to
a memory leak.
Change-Id: Ifea18db27fc78f686934b096b513128b1a65da9e
Add change to use wmi_service_enabled for
wmi_service_sync_delete_cmds instead of using
chipset specific name in target_if
Change QDG_BUG to QDF_DEBUG_PANIC in target_if
vdev response expiry handler.
Change-Id: Ie0f3de2a043198e5aaf5a11add3b8e13b6a47812
CRs-Fixed: 2407877
Add new vendor attribute for preferred channels list with weight
value and a flag to indicate how the channels should
be used in p2p negotiation process.
Change-Id: I7b7926bf2aa714be51a8c28e619bbe426d9d2a4c
CRs-Fixed: 2405321
CFR needs to correlate data received from direct dma ring and WMI event
for tx completion. These two events can come in any order. To facilitate
correlation CFR module has to hold on to the buffer until both events
are received and then replenish buffer back to direct dma ring. To
facilitate this requirement direct rx buf module is modified to change
callback return to bool to indicate whether buffer can be replenished
immediatley or not. Also add API to indiciate buffer release/replenish
later.
Change-Id: I7f0bd7f41ee9362374a5aeb6f506d3f101ec4536
CRs-Fixed: 2403399
CFR needs to correlate data received from direct dma ring and WMI event
for tx completion. These two events can come in any order. To facilitate
correlation CFR module has to hold on to the buffer until both events
are received and then replenish buffer back to direct dma ring. To
facilitate this requirement direct rx buf module is modified to change
callback return to bool to indicate whether buffer can be replenished
immediatley or not. Also add API to indiciate buffer release/replenish
later.
Change-Id: I40d3fdff82fd2828ada14b584da33a66052c6773
CRs-Fixed: 2403398
CFR needs to correlate data received from direct dma ring and WMI event
for tx completion. These two events can come in any order. To facilitate
correlation CFR module has to hold on to the buffer until both events
are received and then replenish buffer back to direct dma ring. To
facilitate this requirement direct rx buf module is modified to change
callback return to bool to indicate whether buffer can be replenished
immediatley or not. Also add API to indiciate buffer release/replenish
later.
Change-Id: I848c0e7cf0118156fff7cf37ac9027cdf8e2e416
CRs-Fixed: 2403395
It is easy to be misled when unmapping message is traced as map
message. Correct this wrong message.
CRs-Fixed: 2376470
Change-Id: I5577ae8e0f787925452c3ecf91ce0e2ff8a2ae9f
When delete callback is registered for the ast entry return the ast info
even delete in progress is set
Change-Id: I3ff8a6d49560513c6a18153c5bf901f201e5949f
CRs-fixed: 2384550
discard fragmented pkts if msdu count is greater than 1
and also some code clean up
Change-Id: I1d0857b5e22f0e4763cfa355b8c92bde697d7540
CRs-Fixed: 2382353
Currently the driver accepts the values of 1,2
for MCC to SCC switch , which does not take effect
as they are not used in the sap switch channel,
thus the same are of no use.
Fix is to cleanup these as they are of no use, and
do not give the desired output too.
Change-Id: I70080dbafa58451ae051bbd3ec457d1f55e7e693
CRs-Fixed: 2404565
The vdevid used in the wlan_ser_print_history function
is not initialized by default
and we pass them to subsequent function without initializing
though that would not be used.
Initialize the vdev id by default irrespective of its use.
Change-Id: I0c45528bdfcb8c6e37a40ea9a68f5c56c1cda753
CRs-Fixed: 2407068
In struct roam_scan_filter_params the legacy identifier session_id is
currently used to identify the vdev of interest. To align with the
converged nomenclature rename this to vdev_id.
This is co-dependent with Ibeab45d4badbeda6baec6a53ab4ec561dd70ccd9
("qcacld-3.0: Use vdev_id in roam_scan_filter_params").
Change-Id: I16679abc7b3b61e6814fc1b0f13c6bc0e0fb7a39
CRs-Fixed: 2407402
Add CDP APIs for:
a. To get/set rdk stats context into soc
b. To set rdk stats flag into soc
c. To flush rdk stats
Change-Id: I74e35f5fa244d6d38f46a4f64ebbad8a630589bd
If non QOS is enabled in meta header store it in skb priority.
Issue occurred as meta header is getting over written by ext2 header
when the frame is sent to firmware.
Change-Id: I61f90dbd188b70e8960ec84c86fda9678ab21f7c
CRs-Fixed: 2400370
When wlan target asserts, driver will trigger shutdown and reinit to
do recovery. In shutdown, when pdev is freed and dfs_detach is called,
dfs->dfs_nol should be freed. If at the same time dfs_remove_from_nol
is triggered in another CPU, a race condition may happen as follows:
NOL is moved from dfs->dfs_nol to dfs->dfs_nol_free_list in function
dfs_remove_from_nol, then dfs_detach sets dfs->dfs_pdev_obj to NULL
without freeing the corresponding NOL timer. QDF_ASSERT happens at this
time if the function dfs_remove_from_nol continues to execute.
To be specific: The timer expiry function dfs_remove_from_nol calls
several umac functions e.g. dfs_mlme_nol_timeout_notification which
needs dfs->dfs_pdev_obj as an argument. However, the dfs->dfs_pdev_obj
is set to NULL by wlan_dfs_pdev_obj_destroy_notification function. Even
though before dfs->dfs_pdev_obj is set to NULL, the
wlan_dfs_pdev_obj_destroy_notification waits for the workqueue
qdf_flush_work(&dfs->dfs_nol_elem_free_work) which in turn waits for the
timer epiry function, scheduling of the workqueue seems to have happened
after qdf_flush_work(&dfs->dfs_nol_elem_free_work) in this case. If
qdf_flush_work happens before the workqueue is scheduled then
qdf_flush_work does not wait for the workqueue and therefore we do not
wait for the timer expiry function before setting dfs->dfs_pdev_obj to
NULL.
To fix the race condition, trigger dfs->dfs_nol_elem_free_work
immediately after dfs_nol_delete.
Change-Id: I9fc07231b07139ebe794fc7cc94d2a8ab307c69f
CRs-Fixed: 2400959