Add RSO state changing log to roam history log
so that help debug roam state change issues.
Change-Id: Ifb11013d83de6ee35241dd796df9a7ccbb1464e7
CRs-Fixed: 3094770
Currently if sta_sap_scc_on_dfs_chnl is disabled,
standalone sap can come up on DFS channel in non-dbs
hw but standalone sap channel switch to dfs is rejected
by hdd in case of non-dbs hw and with disabled
sta_sap_scc_on_dfs_chnl.
Fix is not to reject standalone sap csa request for
DFS channel on non-dbs hw if sta_sap_scc_on_dfs_chnl is
disabled, as standalone sap can come up on DFS channel
when sta_sap_scc_on_dfs_chnl is set to 0.
Change-Id: Ibd1b0af25309aa5cc7d9629d2cb78311c20fffcb
CRs-Fixed: 3095298
In qdf_nbuf_update_radiotap rssi is filled based on flag
DP_MON_RSSI_IN_DBM. When this flag is enabled
qdf_nbuf_update_radiotap is expecting rssi value in dbm.
So fill rssi_comb based on flag DP_MON_RSSI_IN_DBM.
Change-Id: I9a6542cc27a5e19072e89ae78ff05f4392c64157
CRs-Fixed: 3083133
Add support to send qos null frames received from firmware on
STA interface to mon interface based on config value. The config
value get update based on vendor command set by user.
The packet filter check in ucfg_pkt_capture_process_mgmt_tx_data
moved to target_if_mgmt_offload_data_event_handler. So that we
will not allocate any buffer if filter is not set.
Change-Id: I426b340c5a65711ada971062af95ae039d18d0bd
CRs-Fixed: 3076241
Currently the global vdev gp_pkt_capture_vdev used in packet capture
does not have ref count.
Add ref count for global vdev used in packet capture component.
Change-Id: I1cc619b31c81a77af0842ce219cfcc96060626a0
CRs-Fixed: 3049225
In packet capture mode currently the cck and ofdm flags are
filled by checking phy mode received from FW. But now FW is
sending below rate codes instead of phy mode. So update the
check in host to check rate code and based on rate code fill
cck and ofdm. The proper filling of cck and ofdm will help
Wireshark to derive correct phy type in the packet capture.
WIFI_HW_RATECODE_PREAM_OFDM,
WIFI_HW_RATECODE_PREAM_CCK,
WIFI_HW_RATECODE_PREAM_HT,
WIFI_HW_RATECODE_PREAM_VHT,
WIFI_HW_RATECODE_PREAM_HE,
Change-Id: Ie9b38dd403a0bf39397ff22e80dd24dfa152fdcd
CRs-Fixed: 3079456
The global aggregation size is only set to firmware once
when vdev is created. And the size may be modified
dynamically for a specified AP during association, according
to the OUI based aggregation size configured by ini
'cfg_tx_iot_aggr'.
If global AMSDU size is 0, considering the case as below:
1. connect to AP-1 which is included in 'cfg_tx_iot_aggr',
the AMSDU size will be set to the specifed value.
2. connect to AP-2 which is NOT in 'cfg_tx_iot_aggr',
it doesn't reset the AMSDU size to 0, and firmware is
still using the value set in step #1, it's wrong.
To fix this issue, set the global size for each vdev start,
as init values for each connection.
Change-Id: I790d580fc5762e6816e840ba5484b3cd758334df
CRs-Fixed: 2918046
Check the configured IOT OUIs in Beacon/Probe Response
IEs, but not in Associate Response IEs, because some APs
won't add its specific OUI in Associate Response frame.
Change-Id: I3aedeef0a5dbecd4bed41eb47a9374e654509746
CRs-Fixed: 2955964
Add ini 'cfg_tx_iot_aggr', it gives an option to
configure Tx aggregation size in no. of MPDUs/MSDUs
for specified OUI. This can be useful for IOT issues.
Format of the configuration:
cfg_tx_iot_aggr=<OUI-1>,<MSDU-1>,<MPDU-1>,<OUI-2>,<MSDU-2>,<MPDU-2>...
MSDU/MPDU means the max tx aggregation size in no. of MSDUs/MPDUs,
0 means not specified.
For example:
cfg_tx_iot_aggr=112233,2,0,445566,3,32,778899,0,64
If vendor OUI-1("\x11\x22\x33") is found in assoc resp,
set tx amsdu size to 2;
If vendor OUI-2("\x44\x55\x66") is found in assoc resp,
set tx amsdu size to 3, set tx ampdu size to 32;
If vendor OUI-3("\x77\x88\x99") is found in assoc resp,
set tx ampdu size to 64.
Change-Id: Idcf370a4bf93ca299ce1126eaba4394be1ab5b9d
CRs-Fixed: 2849203
A race between cfg80211 disconnect and wiphy system suspend can lead
to either DPM WD or serialization VDEV disconnect active command
timeout since scheduler thread gets suspended as part of wiphy
suspend and both cfg80211_disconnect and wiphy suspend/resume acquire
RTNL lock. To address this race condition avoid disconnect when wiphy
suspend is already completed since scheduler thread gets suspended
as part of wiphy suspend and it can't process vdev disconnect.
Change-Id: Ia7e42cffb3f6b08b33c878b68122dbdc00bad251
CRs-Fixed: 3042442
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.
To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.
Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
It is possible tx_time_per_power_level is not freed
in last event, and it is reused in
__wma_unified_radio_tx_power_level_stats_event_handler,
the buffer size may be different for each event by
manually test.
Fix is to check if memory is freed before malloc, if
not null, free it before malloc.
Change-Id: I51064734cf97b9ff0ecbbaf27f38d5a223c91d3b
CRs-Fixed: 3057436
In hdd_config_tx_rx_nss and hdd_config_vdev_chains, it
missed to check if tx_attr or rx_attr is null, which will
cause invalid memory access.
Change-Id: Ic3427d714e240507cf4253588f706d06d355ba93
CRs-Fixed: 3086252
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
mgmt_frame_hw_tx_retry_count="<frame type>,<retry count>,..."
The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32
Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
Currently, SAP state machine is moved to INIT state when SAP
start is aborted due to timeout or SSR. SAP is not cleaned up
in such cases as eWNI_SME_STOP_BSS_REQ (which further issues
vdev down and cleanup the peers properly) is not sent to
below layers(firmware).
Replace qdf_wait_for_event_completion to
wait_for_completion_timeout in start_bss which will wait
till the normal operation execute irrespective of firmware
state/SSR.
Change-Id: Ifff2ca9658769cb1145f1c5cb278cd7551cb8c00
CRs-Fixed: 3058550
There is a race condition when adapter is deleted after it is
validated in DP rx path and is assigned an invalid vdev id and
eventually invalid net_device.
To fix this, dropping packets if vdev id is found to be invalid
right before assignment to skb->cb.
Change-Id: I4e483363f59a22b45e18da929f749cd9807cc2fc
CRs-Fixed: 3084556
"sap_radar_found_status" is used to check Radar event detected
or not in CAC wait state. Clear "sap_radar_found_status" before
SAP starts to avoid the stale value saved in previous sap start or
CSA. This can happen when the SAP is restart state and get
"stop ap" request from userspace. The invalid value will
cause the wlansap_start_beacon_req retrun without deliver start
beacon msg and cause the no beacon in OTA.
Change-Id: I6336510881333e2775c29dcc167a77d5d745ace9
CRs-Fixed: 3085312
Currently in packet capture component the tx and rx ops are
stored in vdev but the ops should be only per psoc and
the ops will be registered only once per psoc. So change
tx and rx ops from vdev specific to psoc level.
Change-Id: I09e9dd5d83e7b10c86e80ebf2584469071060813
CRs-Fixed: 3049207
In packet capture component change enum pkt_capture_mode
from value to bit map.
Change-Id: Ic777b5091e85ed8c906d7e855b5cadb0fa3319d5
CRs-Fixed: 3048502
Currently, in TWT setup command, if peer does not support TWT
capabilities then firmware returns status = 4.
Add condition to check the peer capabilities before sends TWT
setup request to firmware.
Change-Id: Icd1cbeff2db2bdec4e456013e98270a526ff22ce
CRs-Fixed: 3082071
Add support to send beacon received from firmware on STA interface
to mon interface based on management rx filters set by user in
vendor command.
Change-Id: I186ab0d697da831894854d7680265e82dd3adcef
CRs-Fixed: 3073478
Currently, NDP peer multicast address is derived from peer MAC address
and cached in the host. While removing the NDP peer, peer MAC address
is used to search the cached multicast address list. Because of this,
peer multicast address list is not getting freed.
To resolve this, derive peer multicast address from the peer MAC address
while clearing the cached multicast address list.
Since MAX NDP sessions are 8, allocate memory for peer multicast address
list during the NAN vdev private object allocation. This avoids the
special handling for peer multicast list in multiple error scenarios.
Change-Id: Ifbf890a4b9c8be54d84a5b57ed8f6c237ecd51ca
CRs-Fixed: 3085069
In current scenario, SAP is unable to switch from 2.4GHz to
5Ghz if previous CSA happens with reason CSA_REASON_CHAN_PASSIVE.
For instance, SAP starts on 5Ghz with Country US, and later it
changes to country 00 after MCC. Since in country 00, all 5Ghz
channels are passive, so SAP switches to 2.4Ghz with reason
CSA_REASON_CHAN_PASSIVE. Again if MCC happens to country US then
SAP is unable to switch from 2.4Ghz to 5Ghz. This is because
chan_freq_before_switch_band and chan_width_before_switch_band
are not filled in CSA_REASON_CHAN_PASSIVE case.
As part of fix, in wlansap_get_chan_band_restrict(), update the
chan_freq_before_switch_band and chan_width_before_switch_band
incase channel switch reason is CSA_REASON_CHAN_PASSIVE.
Change-Id: I9610b17cff3f6e0e5257270d2fccd5586c9913f9
CRs-Fixed: 3055017
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
Fix possible memory leak while updating dual sta connect channel list
in wlan_cm_dual_sta_roam_update_connect_channels.
Change-Id: I39dc05e485a0f00189978a38fa927a6ec4bd0086
CRs-Fixed: 3035192
Print channel list which is allowed for connection for the
second STA when dual sta roaming in is enabled in
wlan_cm_dual_sta_roam_update_connect_channels to enhance
debug log.
Change-Id: I4e16f101b60dc9d34d6193adcfe72ec173c5467a
CRs-Fixed: 3000235
Currently, driver is depending on NS frame to be received to configure
peer multicast address for an NDP session. If there is a delay in NS
frame reception, peer multicast address list will be configured to the
FW without actual peer multicast address. Because of this, FW will drop
the NS frame from NDP peer.
To address this, derive peer multicast address from peer MAC address
and include it in multicast address list that is configured to the FW.
Change-Id: I92a575352d592b4001dc4f061e31eb7f592f8445
CRs-Fixed: 3066990
Add new parameter 128/129 for miracast command to enable/disable
p2p connection time optimization. The command needs to be issued
before p2p negotiation/invitation/connecting, the driver will do some
necessary configuration to reduce the p2p connecting time. At present,
disabling IMPS is the only configuration to achieve it.
Change-Id: I518b0027290d0254313031fe23315b718565e04b
CRs-Fixed: 3031461