Currently when gDot11Mode=6 (11n only) is configured in ini and AP
is operating in 11n mode the STA is connecting in HT mode, but when
AP is operating in 11AC/11AX mode then STA is connecting in legacy
mode i.e 11b/g/a. This is due to check which compares phymode of
BSS is 11n or not but failed to check BSS phymode is 11ac/ax.
Due to this there is mismatch in phymode and mode is downgraded
to legacy.
These changes will perform the check and allow STA to connect in
11n.
Change-Id: I8196b44db5a12fbba39ffcf58202fa1863b1c4b4
CRs-Fixed: 2965287
Currently set bitrates command is supported only when station is
connected state. But bit rates can be configured from user space
even if station is not connected. To support this, allow set bitrates
command even when STA is not connected.
Change-Id: I867083bc288f439f486181275e90cbf22dc49c81
CRs-Fixed: 2973203
Set the newly added flag for wlan_cfg80211_crypto_add_key():
set to true if the request is from north bound, false otherwise.
Move processing of install key complete event into
crypto component.
Change-Id: I981e3722966c5b44255b3e29b7df3fbccfa087c8
CRs-Fixed: 2839454
Currently shortgi 20/40 values are updated with ini configured
values irrespective of ap capabilities.
This change fills shortgi values based on ap capabilities if it is
enabled in ini.
Change-Id: I6a590e5c0981fab61dcbcf06cf22fda70d833fd7
CRs-Fixed: 2867232
Currently host is sending nl80211 band to get curr
chan list but enum values are different for 6G, so
reg_get_band_from_cur_chan_list may not consider 6G
band even userspace sends 6G band in vendor command.
Fix is to convert nl80211 band to reg band to get correct
usable channel list in case of 6G.
Change-Id: I51b86c5f4f83b764847756a20a911d9b8af75b56
CRs-Fixed: 2973283
Add support for QCA_NL80211_VENDOR_SUBCMD_GET_RADAR_HISTORY vendor
command. This command will return the current NOL list in driver
and the last Radar detection result in previous SAP active state
(includes CAC state).
Change-Id: I719630c39b89c1813ca05c4356dce627d72d82e2
CRs-Fixed: 2966501
Add non-inheritance IE for ML sta_profile. It identifies
list of EIDs and Ext EIDs that are not inherited by the
reported STA from the reporting STA (primary link).
Change-Id: I796cee5a06bfd76b3428fc20e51493e1dab15493
CRs-Fixed: 2971815
The correct vdev id check for the unit test command uses the vdev id
from adapter. Use the vdev id to check to do so correctly.
Change-Id: Ie36d01219b78dcb08cef0b792fe7eb9a7d4e7e55
CRs-Fixed: 2969464
When receiving management frames, there can be excessive error logs.
Change these to debug prints.
Change-Id: I78a281bdc32bee580ed3470406163a77b43fac9b
CRs-fixed: 2968877
hdd_roam_register_sta() picks the right mac address for
register peer. If it's called with peer mac address, it registers
that mac address and if it's called with broadcast mac address, it
picks adapter mac address which is self mac address.
In case of NDI, it's called with broadcast mac address. Peer
registration(cdp_peer_register) happens fine by picking adapter
mac address but tries to update peer state by picking broadcast
address. This fails and results in blocking/dropping the Tx data.
Authenticate the mac address registered to avoid this.
Change-Id: I8413585ca9c585eabed8e58755fac49eb5d9788d
CRs-Fixed: 2966158
Currently, driver creates the NDI upon userspace request and sends
NDI-create-response to userspace. But internal NDI state is set
after sending this response. This leads to a race condition when
userspace sends NDI delete while driver is still setting driver
internal state for NDI create.
So, send NDI create response to userspace only after completion
of driver internal processing.
Change-Id: Ic651fd4f6dfab17c48c4f65b6e5d49c4d08cbe16
CRs-Fixed: 2966549
Currently driver initializes the wiphy 6ghz band without
checking the band capability. If FW does not support 6Ghz
then wiphy register is failed as wiphy 6ghz band is initialized
by driver.
To fix this, initialize the wiphy 6ghz band only when host
driver and FW both supports 6Ghz band.
CRs-Fixed: 2968968
Change-Id: I28d660f515d16d0eb4245311b42c69308576ac62
When an existing flow is evicted, there is chance that the
REO ID of the newly added flow and the inflight packets of the
evicted flow mismatch. In such cases, check the FSE metadata of
the flow with that of the packet instead of triggering a BUG().
Change-Id: I7412055101fb72f7b28db615672e88837d79e8d3
CRs-Fixed: 2968500
Add new api sme_switch_channel(), which posts eWNI_SME_CSA_REQ
with specified parameters; set lim_handle_csa_offload_msg as the
handler for this new message.
Change-Id: Id015ac5f9f3674ff06d110f7a0dccd85364b3d86
CRs-Fixed: 2960191
Currently host relies on fw for vdev id for ll_stats
response but FW does not send the vdev id in response
of radio stats and peer stats as response of the ll_stats
request. Host needs this vdev id to get the adapter on
which the ll_stats request is received so that is can process
and send the response back to user space.
To address above issue add vdev id in request private
structure and when receives response from the FW, extract
this vdev id from private structure.
Change-Id: I28c411aea852b36cd1a13174e87adfa7972fc077
CRs-Fixed: 2964782
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.
Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
Init htcinfo structure variables to 0 to avoid issues
due to any newly added uninitialized variables in the future.
Change-Id: Ie4cf5c99c09f56ee1fc898397bcd3ccf4b678638
CRs-Fixed: 2962285
wlan_twt_concurrency_update() calls the flush work internally.
So when the caller calls wlan_twt_concurrency_update api in
schedular context, flush work will block the schedular thread for
4 sec(twt enable/disable timeout value is 4sec). Because of this
the other request will be block till this time.
As part of fix, remove flush work and reduce twt enable/disable
timeout to 1 sec
Change-Id: I8f16da44b21cf54fcf2256aaef53371431e64aac
CRs-Fixed: 2963695
qdf_freq_t is by default defined as uint32_t, but hdd_ctx->
unsafe_channel_list is defined as uin16_t because cnss interface
is defined as uint16_t, so can't pass hdd_ctx->unsafe_channel_list
to ucfg_policy_mgr_init_chan_avoidance() which expect qdf_freq_t
list.
Convert hdd_ctx->unsafe_channel_list to qdf_freq_t list and pass
it to ucfg_policy_mgr_init_chan_avoidance().
Change-Id: I0207827e3cbaa82526e97d2826d90d396148c84a
CRs-Fixed: 2964178
Unlike wpa2, in wpa3 roaming scenario, roaming is not fully
offloaded to FW, EAPOL handshake and key install are done
from host, in current design during assoc completion handler,
it sends STA_CONNECT event to IPA and IPA gets hung waiting
for buffer replenish from FW and FW is waiting for current
thread to return, this causes deadlock, so defer sending
STA_CONNECT event to IPA after EAPOL handshake and key install
for all the secure connections, hence IPA HW is ready to
process the STA_CONNECT event, in this case.
Change-Id: I19961cdd303ccef13621c7a20867ba852342a526
CRs-Fixed: 2958313