Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.
The dump levels are as follows:
* 0x1 - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2 - Enable EAPOL pkt logs.
* 0x4 - Enable DHCP pkt logs.
* 0x8 - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0 - Disable all the above connection related logs.
Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
TWT is not disabled for certain APs. Add OUIs of the
APs to configuration file.
Change-Id: I3bb2238550294b443f166920069a14fb81e6873d
CRs-Fixed: 3176212
To use skb_orphan instead of skb_unshare, this is
aimed to prevent addition skb_alloc possible failures
in TX path, then avoid of unnecessary packet drop when
memory runs low.
Change-Id: Ic8dfdb09c73a1071678612430fff2f23180ad336
CRs-Fixed: 3162137
Currently hdd_cm_is_vdev_associated() and cdp_peer_state_get() per
packet check consumed much CPU on TX path, they will hold spin
lock which will introduce contention between different TX streams.
solution:
(1) check is_authenticated in sta_ctx->conn_info, if true,
then connection has been established already.
(2) clear is_authenticated flag if disconnection happened for
STA and P2P client.
Change-Id: I208608eba7bab69c8795e25495424327b7f2331f
CRs-Fixed: 3165165
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.
Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.
Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
For Kernel 5.15+, the ifr_data variable will no longer be included
in the ifreq struct and would need to be passed as a separate argument.
Thus, create a new ndo callback function ndo_siocdevprivate() that is
used for Kernel 5.15+.
Change-Id: Iccb5b5f5edd650b4a604e15b787d3b927eabc6b5
CRs-Fixed: 3157820
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.
It will update the forwarding table of all the bridge devices
through source port learning.
Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409
hdd_regulatory_dyn_cbk() is a call back function for
channel change and is registered by hdd_regulatory_init.
hdd_update_country_code will send
WMI_SET_CURRENT_COUNTRY_CMMDID to fw, and get
WMI_REG_CHAN_LIST_CC_EVENTID event, and then it
will try to call hdd_regulatory_dyn_cbk if it's registered.
When hdd_update_country_code is placed in
hdd_wlan_start_modules it will be called before
hdd_regulatory_init. There is a failed case that, FW event
WMI_REG_CHAN_LIST_CC_EVENTID happens but
hdd_regulatory_dyn_cbk is not registered and will not be
called. In this case even we set country code with CN
the STA still cannot scan 12/13 channel.
The change make sure that hdd_regualtory_dyn_cbk is
registered by hdd_regulatory_init before
WMI_REG_CHAN_LIST_CC_EVENTID event from
WLan FW.
Change-Id: Iac8617264d7f5afd80510abb90cca63d8b38fb4d
CRs-Fixed: 3135000
wlan0 on 5180, wlan2 on 5180, wlan1 on 2462. wlan1 conf file
has ACS “freqlist=2457-2472,5180-5945”.
When LTE unsafe event comes, it marks 2457, 2462, 5180 unsafe,
wlan0 changes channel to 5200. wlan1 has no available 2G channels.
It selects 5G channel 5200. But 5G has two vdevs already, then
Concurrency check failed - drv doesn’t support 3 home channel.
wlan1 keep active on 2457, but driver doesn't continue to check
wlan2's channel and do CSA to safe channel.
Fix by checking the wlan1's CSA status and if status is failure
then do unsafe channel check for 3rd wlan2.
Change-Id: I28e9397436780cf47e57a47482b729a42fb728f0
CRs-Fixed: 3136773
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.
Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
Register callback to classify critical packets with DP layer during
cdp_vdev_register. This callback is needed to classify critical packets
during the forwarding path for SAP vdev.
Change-Id: I5f109c7a4bd37e2544d8e3bbd410147a8d6963c8
CRs-Fixed: 3114436
Currently there is a overlap of functionality between
hdd_wmm_classify_pkt and wlan_hdd_classify_pkt.
Move most functionality in hdd_wmm_classify_pkt which gets called during
hdd_select_queue.
Change-Id: I1eb735ecd2dfd7b6df6e78a134e7d16ee396b0f0
CRs-Fixed: 3114436
For Kernel 5.12+ in order to be in line with cfg80211 changes
in upstream code, use cfg80211_register_netdevice() and
cfg80211_unregister_netdevice() when request to register device is
coming from add virtual interface.
Change-Id: Ibc11d405ab8b06e170bcb261970bc4ccccafe291
CRs-Fixed: 3133264
When host sends TWT disable command to firmware, send reason code
also as part of it. So that firmware will check and take the
following action:
a. If host sends disable due SCC/MCC concurrency then firmware
will teardown the existing TWT session and send the teardown
reason code as concurrency to host.
b. If it's for other reason then it will take action based on
that.
Change-Id: I66b3d10e7d54319c3c6dcad57c78949bcdd11a26
CRs-Fixed: 3098864
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.
Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
This change is to clear coex unsafe channels list if vendor command
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT sends start and end
frequencies as '0'.
Change-Id: I8cea94f743de02c036ce1c6bed352857fec2d44d
CRs-Fixed: 3127863
Enable/disable TSF sync feature through QCA_TSF_SYNC_START and
QCA_TSF_SYNC_STOP NL command. Also add support to configure
TSF sync interval through QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL
attribute.
Change-Id: If679fdf2c92848402cf1b8fcbfb669cd1cc2b861
CRs-Fixed: 3108414
Add support to update tsf timestamp on driver entry and
exit in data packet. This helps debug latency issue in
XR usecases.
Change-Id: I49d190a55b7ab3081225b7a226f1bbe4f717a20f
CRs-Fixed: 3090104
Add support for below EasyMesh specific commands
1. To set user specified channels in the acs channel list
2. To trigger ACS
3. To get the ACS report
Change-Id: I1090b9a86d62eddc9954b70835c7496e5a614757
CRs-Fixed: 3080222
This change is to update sap interface restriction mask
enum check to NL80211_IFTYPE_AP bit mask.
Change-Id: If5a6748425502b1f27654a2e6bfa0e5c2b8554de
CRs-Fixed: 3118953
To support shutdown WLAN when system goes into suspend, add idle shutdown
in cfg80211 suspend function.
Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter state.
Idle shutdown must be processed in system active, so schedule delayed
work to execute it. After calling schedule, retrun EAGAIN directly to PM.
Change-Id: I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f
CRs-Fixed: 3081480
Currently the expectation from host is that user space needs to
set dynamic mac address only before start_ap in case of SAP.
In driver there is no such check to reject set mac address
command if SAP is already in up state which leads to unexpected
behaviour at fw.
To address this issue add a check in host to reject dynamic set
mac address command for SAP mode if SAP is already in up state.
Change-Id: I8f5456490574288afba86ec3a732b3dc7ed65bce
CRs-Fixed: 3109470
Set tx power for SAP interface if it is unsafe channel and
if user sets restriction mask.
If interface unable to find safe channel and if restriction
mask is set then stop the SAP.
Change-Id: Ibdec18b9b749f18b1e9d704974f4cbaabbc4e613
CRs-Fixed: 3103307
This reverts commit I7704a3b9b3e8ad187677705e1b11fbd82be73cfb.
This change cause CXPC failure, as each ll_status will cause
runtime pm resume.
Change-Id: I3547181fb8cfee1e5e40992dfaf5547eaac29a2a
CRs-Fixed: 3110499
Currently the idle shutdown timer is 10sec which was kept as a
experimental value during design, now because of issues from
customers where the wifi on/off from user should also help to
recover host/fw issues reducing the time to 250msec
Change-Id: I88ccfce1ac6d4654a4436771f291a22431585f44
CRs-Fixed: 3104701
If ll_stats command does not receive response from fw continuously
for some time then there is no way to determine the actual reason
of this comamand failure if the logs are overwritten.
With this change, add bug_on and trigger recovery after 5
continuous command failures so that the current logs are captured
to analyse the issue.
Change-Id: I8f2f08d598c25ccea5ecd4b02c86e1069daeb6e0
CRs-Fixed: 3106087
Currently when ll_stats or get station request comes and while fw
sends the response of the request, it is possible that driver can go into
runtime suspend state while fw still wants to send few more stats
events. Because of this ll_stats request or station stats request gets
time out in host.
To address above issue, add logic to prevent runtime suspend when
ll_stats or station stats request is received in host driver.
Change-Id: I7704a3b9b3e8ad187677705e1b11fbd82be73cfb
CRs-FixeD: 3096165
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.
To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.
Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
In the process of sar req-resp event the timer callback will wait
for the userspace response due to which time scheduler thread is paused
and can't process any other message. Because of this there is delay and
some command may fail.
To address above issue, move the process of sar req-resp
event to work context as we are waiting in the timer handler.
Change-Id: Idadd99ff28dcb6f5ec2d925cb381f223124300e6
CRs-fixed: 3091293
Along with 11BE_MLO feature macro, check for Kernel 11be macro as well
to avoid compilation issues when kernel doesn't support MLO.
Change-Id: Ie6b513cdb9846b1c47674cabbd8e5ff1a1adff63
CRs-Fixed: 3087573
Register dynamic set MAC address feature with the framework.
If driver supports this feature, then framework doesn't need to
issue interface down and interface up to set the MAC address.
Change-Id: I7a493574c11c8d51731021d418cfeaf942720383
CRs-Fixed: 3066743
Currently global pause mask is used for controlling individual
AC based sub queues and even all the network queues, due to this
mask is set/reset improperly which is not giving actual global
queue status representation. To avoid this introduced new sub queue
mask which is used while controlling individual network sub queues
and global mask is over for overall network queues.
Change-Id: I6632a1831cbea84c23441dbb67473c94b487109a
CRs-Fixed: 3081060
For MLO connection, host will use MLD mac address as eapol
dest_mac address check condition, but currently the macro
used is not the right one, so the check always return failure
and RX eapol frame is dropped in SAP HDD.
Use right macro WLAN_FEATURE_11BE_MLO to enable this check
Change-Id: I5e9e265583d9c39899c6604f1a16bde2f08484a9
CRs-Fixed: 3074632
Set system PM_QOS with low latency only for "very-high" throughput levels
in TX case. Currently, its being done for "high" throughput levels.
In less than "very-high" throughput cases, this allows CPU cores to
enter low power modes. This is done only for non-offloaded packets e.g.
UDP.
Change-Id: Idf1dd2968b7dd8b4ef9f4061ee862de03d962c6e
CRs-Fixed: 3045963
Dynamic GRO feature is enabled by default and aimed for specific
customers. Add an ini control to allow other customers to config
this feature enable/disable.
Change-Id: I83edd69d0e30d5944f0724ed8350328abff619bb
CRs-Fixed: 3070912
In case of STA+SAP, ingress qdisc filters are getting
configured on both STA and SAP interface which is
causing GRO to be disabled.
Check for ingress qdisc to enable/disable GRO only in
case of stanalone STA and not do this in case of
concurrency.
Change-Id: I3542930c7b14d72e267378dd4687ee9721eed4ed
CRs-Fixed: 3062195
Currently driver QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID uses
instead of QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID attribute
in the BTM response event. This causes the target bssid field to
be missed in BTM response print.
The WTC BTM response event is not queued when reason code is
non-zero.
Use QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID attribute.
And queue the WTC btm response event.
Change-Id: Id713bfeda20c43148e95630f5c6e925b80418ca3
CRs-Fixed: 3071242
Add a new SNOC/DDR voting slot for DBS mode. In DBS KPI tests,
more hardware resources are needed for both HW MAC0/1.
This change adds a new logic to vote more DDR frequency when
it's in DBS mode and the overall throughput is larger than a
pre-defined threshold.
Change-Id: I14a318b417a39714865de0617c9943c1a5e04ae6
CRs-fixed: 3064197
Add the support for the feature of Full Power Down while
in low power mode.
For this feature, it need to power down wlan chip when
suspend, and power up wlan chip when resume, so need to
change to call wlan driver shutdown and then power off the
wlan chip instead of calling wlan driver suspend when do
suspend, and changing to do power on wlan chip, download
wlan firmware, and calling wlan driver reinit instead of
calling wlan driver resume when do resume.
Change-Id: I293647175c151da0fd6628345f98ea65c83b1bb3
CRs-Fixed: 3061366
When 32 STAs connected to APUT, crash will happen because of lack
of resource. The max vdev number was decreased by 1 from the value
of 4 because of nan is not supported. Then FW will received the
value of 3 and finally the tid number is not enough. Change the
max value of vdev number to 5 to fix this issue.
Change-Id: Ia212a0b05922530526439206fd70a44f3ce03838
CRs-Fixed: 3064133