The kernel-doc script identified some documentation issues in the
umac/wifi_pos folder, so fix them.
Change-Id: I261ecd11e8e15bac021214c2d9e0774f316d7ac7
CRs-Fixed: 3430355
Fix below compile issues:
1.error: no previous prototype for wifi_pos_get_vdev_priv_obj()
and wifi_pos_get_psoc_priv_obj().
2. error: incompatible integer to pointer conversion assigning
to 'struct wifi_pos_vdev_priv_obj *' or 'struct wifi_pos_psoc_priv_obj *'
from 'int'.
3. error: declaration of 'struct wifi_pos_osif_ops' will not be visible
outside of wifi_pos_register_osif_callbacks();
Change-Id: I6946f6240ed5adff291871c75ca85f848d955f4d
CRs-Fixed: 3356150
- target_if layer was calling UMAC layer wifi_pos_get_rx_ops(). This was
leading to compilation errror in WIN platform. Hence, added target_if
layer API target_if_wifi_pos_get_rx_ops().
- WMI_RX_SERIALIZER_CTX is used to register PASN peer create and delete.
WIN platform does not use the above context. Hence, use WMI_RX_UMAC_CTX
for WIN and WMI_RX_SERIALIZER_CTX for MCC.
- WIFI_POS rx_ops callbacks are registered in target_if layer. But, these
callbacks are called by UMAC component. Hence, move this registration
function to UMAC layer.
- Add an API to convert host PASN peer type value to target defined value.
Change-Id: I2a262121f959c2343e88158b94468d104b9e164c
CRs-Fixed: 3289852
Enable/Disable responder 11az ranging based on the below ini:
"enable_responder_11az_support"
With "enable_responder_11az_support" disabled, the below ext
cap advertisement will be disabled:
Non-TB Ranging Responder
TB Ranging Responder
and below vendor capabilities advertisment will be disabled:
QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE_AP
QCA_WLAN_VENDOR_FEATURE_SECURE_LTF_AP
Change-Id: I82eb70615f8daf82e98e7600418e07fad0672b76
CRs-Fixed: 3296410
The actual number of vdev info allocated was less than the number
of vdevs that can be created for each soc, hence fix them, also
previously the arrays were allocated statically consuming
considerable amount of memory, fix them by allocating dynamically
with only number of vdevs per soc
Change-Id: I5ea735d44994211f76ce18460332624831742f7b
CRs-Fixed: 3285131
Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR
Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
Register OSIF callbacks with Wifi_pos module to initiate PASN
authentication request.
Call cfg80211_pasn_auth_request() to initiate PASN authentication
from wpa_supplicant for the list of secure peers.
Change-Id: I52b9518526f1b04ad520f2f19c7a4caa9b62b6b0
CRs-Fixed: 3149968
Add support to manage Wifi pos vdev private object. Add new peer
type in enum wlan_peer_type. Add rx_ops and register the rx_ops
for PASN peer create/peer delete request.
Register 11az PASN related WMI events in target if.
Change-Id: I2a5e4d8d7c9b9562d9ab02b287957e93ee6f4758
CRs-Fixed: 3154521
Add new files in Wifi-Pos module to support PASN authentication.
Introduce new API to handle 11az ranging peer create, to handle
PASN peer create response and manage the PASN peers to initiate
external authentication to userspace.
Change-Id: I0b638d3cfca2753074fdb56ad78373f842ca80ee
CRs-Fixed: 3150241
Add new public structure file for Wifi_Pos module to define
11az related structures & enums, vdev private object for
Wifi Pos module.
Change-Id: Ia8b8ebb3b36cc8f1d9598629e63d15a0f16301c7
CRs-Fixed: 3150228
Register a callback to get max supported FW phymode for the given
channel list.
Also, corrected the array index value used to populate the DFS flag and
phymode.
Change-Id: Id635a159acac085827831726d3020cc209b810cf
CRs-Fixed: 3083405
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.
Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
In wifipos component, channel info array is allocated for MAX_CHANNELS(255)
and passed to the regulatory module which uses NUM_CHANNELS to fill the
channels. NUM_CHANNELS can be more than 255. This may lead to an array out
of boundary access.
Use NUM_CHANNELS in wifipos component to allocate channel info array.
also, add a boundary check on the number of channels received from the
regulatory component.
Change-Id: I5b7a7a4767d8bbb259c5631cf744e57ee3e1effb
CRs-Fixed: 2938879
In the current code, host does not send the channel list information to
WIN LOWI application. LOWI application populates the TX power in OEM RTT
request frame from the host received channel list information. Since the
channel list was not received from host TX power was set to 0. This was
leading to low RSSI for RTT ack frames.
Send the channel list information of all the PDEVs and PSOCs to WIN LOWI
application to set a valid TX power.
Change-Id: I9b7d740b37349d092629aa2f9550555901fb4331
LOWI application provides the interface name as part of lowi message to
host driver. Add support in the driver code to get the corresponding
pdev_id and pdev from interface name using dev_get_by_name().
Change-Id: I267b95c843a9bb1dd0c58ff45767f31999500b1c
CRs-Fixed: 2711423
Update the wifi_pos_send_rsp function pointer cast to have the
same parameters as the actual function pointer.
Change-Id: I7e9f5f9972fe96f74c76ffb0fa069a93c98db72b
CRs-fixed: 2685627
Host driver processes cld80211 vendor sub command
CLD80211_VENDOR_SUB_CMD_GET_CH_INFO and respond with
NLA type CH_INFO response
CRs-Fixed: 2595374
Change-Id: Ibe6f2431ac1cae6e4560ec11424434b4f1cf8b76
Host driver processes cld80211 vendor sub command
CLD80211_VENDOR_SUB_CMD_GET_CAPS and respond with
NLA type CAP response
CRs-Fixed: 2595140
Change-Id: I5a6aa1fac537ca618404520b81c541a20dafd6fb
Currently, wifi-pos uses channel number to get the fwr phymode.
For adding 6g support wifi-pos need to get the phymode from
frequency instead of channel number
As a part of fix, Add handler for getting phymode based on
frequency
CRs-Fixed: 2617903
Change-Id: I007edebe41bf5ca750a1262c85043f628dc9f89f
Host driver sends channel list and number of channels to lowi-server
in ANI_MSG_GET_OEM_CAP_RSP. 6Ghz channels in the channel list are not
useful for legacy lowi-server not supporting 6Ghz channels.
For legacy oem targets, driver sets "oem_6g_support_disable".
Change-Id: Ibc072ff2df3d7b246d3a48d7cebcb5feac35b715
CRs-Fixed: 2597645
FTMRR and WRU frames should be sent from host and these request should
not be forwarded to FW. Add support in wifi pos to process this request
and send response to userspace.
Change-Id: I54049a1a889839e44d418ceebcca09e5092f6063
CRs-Fixed: 2500751
In wifi_pos_parse_req(), payload sections of nl attributes ATTR_DATA and
ATTR_META_DATA are type casted to driver internal structures tAniMsgHdr
and wifi_pos_field_info respectively without validating payload lengths
which can lead to buffer overread if the payload lengths are less than
size of internal structures.
To fix this, avoid type-cast and return error if payload lengths of nl
attributes ATTR_DATA and ATTR_META_DATA are less than size of tAniMsgHdr
and wifi_pos_field_info respectively.
Change-Id: Ie9e3197f2cd3852b394e834991aa8d3a5b530d85
CRs-Fixed: 2471275
Currently PHY mode is not getting updated and it is being set as
0, which is resulting in an invalid channel setting to FW
for LOWI.
To address this issue update the PHY mode correctly.
Change-Id: I77b2a517915a05d6a13dec5cee064d83bfae2992
CRs-Fixed: 2318563
Parse service ready extension event to get DMA ring capability requested by
firmware to enable CIR/CFR capture. This cap is then saved in WIFI_POS psoc
private object.
Change-Id: I6f6958250af06ac69b627d2f06e120955d625c62
CRs-Fixed: 2040688
This change adds implementation for interfacing with LMAC for
southbound request to WMI and northbount events from WMI.
Change-Id: Ia027ec704d99ef586b89bfadce4f174c3bcf8c17
CRs-Fixed: 2003488