During TDLS componentization the legacy typedef tSirTdlsDelStaReq was
replicated, creating struct tdls_del_sta_req. Unfortunately this left
the driver with two different data structures which serve the same
purpose. Not only is this pointless, but due to the way in which these
structures are used there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
exclusively use the TDLS component struct.
Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.
Change-Id: I054ee24e07062a60c4e00b935cd1bc5b4a9aef95
CRs-Fixed: 2400769
During TDLS componentization the legacy typedef tSirTdlsAddStaReq was
replicated, creating struct tdls_add_sta_req. Unfortunately this left
the driver with two different data structures which serve the same
purpose. Not only is this pointless, but due to the way in which these
structures are used there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
exclusively use the TDLS component struct.
Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.
Change-Id: I37500ead43eed2295df24c70b96e0b6ff85738c6
CRs-Fixed: 2400768
Change Iea0bf0a3dcae9186cce4eb176b974515fd0d7624 ("qcacmn: Replace
session_id in hidden_ssid_vdev_restart_params") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.
Change-Id: Ie8c426aff1a8a1e7f75199c8cf7c761f1a893a05
CRs-Fixed: 2403935
Save RSN auth type in related context for RSN assocoation.
Some OWE specific operation need to be done according to
this RSN auth type since we cannot tell if a STA / SAP is OWE,
WPA2 or OPEN by its auth type OPEN.
Change-Id: I17dd72c7adf1c663725ac58ce263f4408d9c967b
CRs-Fixed: 2396885
In some functions, the structure csr_roam_info is declared as
local variable. Given its size is large, adding fields in this
structure will easily break the 2K limit check of stack size.
Allocate this structure in heap instead of declaring it as
local variable.
Change-Id: I78980b0816d464f4d9951cf0b7b0f5a15d8985b4
CRs-Fixed: 2396867
Introduce function wlan_hdd_validate_vdev_id() as a replacement for
wlan_hdd_validate_session_id() to align with the converged naming.
Change-Id: I12913e48c28f48ab7139d012b1584d8a8a9737ab
CRs-Fixed: 2404173
Currently the host driver updates the fils erp sequence number
to upper layer once the roam synch indication with the next erp
sequence number is received from the firmware. During the next
connection triggered from upper layer, the supplicant sends the
updated erp seq number value to host and host saves it in
session->pCurRoamProfile->fils_con_info->sequence_number.
During roaming, the supplicant doesn't update erp next seq
number so host retains the older value of sequence number given
by the supplicant during initial connection and sends this value
as part of RSO update config sent to firmware after roam synch
complete is done. So the FILS connection is terminated due to
this wrong sequence number sent by the host.
Add changes to update the new erp sequence number received in
roam synch indication to
session->pCurRoamProfile->fils_con_info->sequence_number. Send
this updated value without any modification if the RSO update
config reason is roam completion.
Change-Id: Ie833f31c57173a5a4dc45722c7ee0b42cf916cb0
CRs-Fixed: 2397877
NSS is reduced to 1 even though AP beacons or probe
responses contain vendor_4_OUI. The return value of
function csr_check_vendor_ap_3_present, which checks
for the presence of vendor_4_OUI, is true instead of
false due to incorrect IE data sent to this function.
Fix is to send appropriate IEs to csr_check_vendor_ap_3_present
Change-Id: Iea9ad4aae017df6972fdbe26d49bbda460d58dba
CRs-Fixed: 2401932
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct gateway_param_update_req
- unified WMI struct gateway_update_req_param
To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.
Change-Id: Icc56c4d83808e3661593d2e4735533442d48eb7e
CRs-Fixed: 2404089
Some ini descriptions are different to common, and some of them
include wrong information, so correct them and use unified form.
Change-Id: I36348fb26a03cab254fd309d792125b8a21ad02f
CRs-Fixed: 2402446
Change I84b28aa734b570f0a7834fbac7d27e9c66b8b026 ("qcacmn: Replace
session_id in gateway_update_req_param") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.
Change-Id: I2d24a54e80931a944580e968a841679d2da7b2a1
CRs-Fixed: 2404013
During TDLS componentization the legacy typedef tSirTdlsSendMgmtReq
was replicated, creating struct tdls_send_mgmt_request. Unfortunately
this left the driver with two different data structures which serve
the same purpose. Not only is this pointless, but due to the way in
which these structures are used there is an implicit requirement that
they be exactly identical. This approach is very fragile. To align
with the converged software architecture and to improve code
maintainability exclusively use the TDLS component struct.
Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.
Change-Id: I7d304d3d211101c7227ea621f307f91ff68a5753
CRs-Fixed: 2400767
As part of the original TDLS componentization the legacy typedef
tTdlsPeerStateParams was replicated as qca-wifi-host-cmn struct
tdls_peer_state_params. Subsequently when the TDLS component was
relocated back to qcacld-3.0 this struct was replicated again as
struct tdls_peer_update_state in the qcacld-3.0 TDLS public structs.
Unfortunately this left the driver with three different data
structures which serve the same purpose. Not only is this pointless,
but due to the way in which these structures are used there is an
implicit requirement that they be exactly identical. Further
complicating matters is the fact that these three structures each have
embedded structs which are also replicated. This approach is very
fragile since any change to any of these structs must be replicated
across the entire set. To align with the converged software
architecture and to improve code maintainability exclusively use the
TDLS public structs.
Change-Id: Id6d44a1bc0fe530957db3d9f9ab948e2af775433
CRs-Fixed: 2400766
Currently hdd_send_peer_status_ind_to_app() uses the legacy term
sessionId to reference a virtual device. To align with converged
naming rename this to vdev_id.
Change-Id: Iada1a4bd86bbe444bc899bbaa1e05daccc552904
CRs-Fixed: 2404161
Currently struct pe_session uses the legacy term smeSessionId. To
align with converged naming it is desirable to change this to vdev_id,
but due to the large number of places where smeSessionId is used it
will be difficult to modify all occurences at once. In order to allow
changes to "trickle in" replace the smeSessionId field with a union
that contains both a smeSessionId and a vdev_id field. This will allow
vdev_id and smeSessionId to both be used to access the same data item.
Subsequent changes can then replace references to smeSessionId with
vdev_id, and then once all references have been converted, replace the
union with a single vdev_id field.
Change-Id: Idfcf3edc801b5c6937b40bb24ab1c291cb7f415e
CRs-Fixed: 2404159
Currently struct csr_roam_session uses the legacy term sessionId. To
align with converged naming it is desirable to change this to vdev_id,
but due to the large number of places where sessionId is used it will
be difficult to modify all occurences at once. In order to allow
changes to "trickle in" replace the sessionId field with a union that
contains both a sessionId and a vdev_id field. This will allow vdev_id
and sessionId to both be used to access the same data item.
Subsequent changes can then replace references to sessionId with
vdev_id, and then once all references have been converted, replace the
union with a single vdev_id field.
Change-Id: I67877b9a407bb07ec9f6516a765ee511c9c933e9
CRs-Fixed: 2404157
To address kernel control flow integrity (CFI) issues related to type
mismatch, correct the input argument type for pe_handle_mgmt_frame().
Change-Id: I2617c55655ba0303b89580e58f1bc2ea2efcefb9
CRs-Fixed: 2402966
As part of DSC integration, use vdev op start/stop for appropriate
IOCTL handlers.
Change-Id: Ic2c96d9447f1a74733c3ad1dcc773f733fac10e6
CRs-Fixed: 2402144
A common pattern in WLAN to panic the driver is to log the reason and
then unconditionally panic. QDF_DEBUG_PANIC() takes a reason string to
help make the reason for the panic more obvious, but it is not always
used. Ensure all callers of QDF_DEBUG_PANIC() provide a reason string.
Change-Id: I3d23a8980adaeaa1a9798a4a6b0fba1f36eb52ad
CRs-Fixed: 2403829