While migrating from v5.15 to v5.19 of the Linux Kernel, a build error
was observed:
ERROR: modpost: "do_exit" [...] undefined!
The reason do_exit is undefined is because Linux Kernel commit
eb55e716ac1a ("exit: Stop exporting do_exit") removed the
EXPORT_SYMBOL() with the justification "there are no more modular uses
of do_exit".
Commit eb55e716ac1a was preceded by commit 111e70490d2a
("exit/kthread: Have kernel threads return instead of calling
do_exit") which details why, since commit 63706172f332 ("kthreads:
rework kthread_stop()"), it is unnecessary to call do_exit().
Note that commit 63706172f332 was introduced in 2009 in v2.6.31-rc1.
Since we do not need to support any kernels before that time, we can
follow the same advice and return instead of calling do_exit().
Currently do_exit() is only called from qdf_exit_thread(). As a result
of the preceding investigation, all former callers of qdf_exit_thread()
have been modified to no longer call it. Since it is obsolete, remove
it.
Change-Id: I22f27692fa8766df080630b9b0640c259285557c
CRs-Fixed: 3300460
With MLO enabled, MLO STA wlan0 will consumed 3 MAC address, consider 2nd
STA wlan1, p2p and NAN interface, consumed 6 MAC addresses totally, SAP
failed to start for no MAC address.
To fix it, increase MAC address num to 7 when MLO supported.
Keep max vdev num as 6, no side effect on firmware.
Change-Id: Idbc3b7159ec3ceb42fa8a13718cd7402d6eb8090
CRs-Fixed: 3298515
In kernel 5.17, net_device->dev_addr is changed to const unsigned char*
and can only be updated via dev_addr_mod(). Add a new function
qdf_net_update_net_device_dev_addr() to call kernel API dev_addr_mod().
Change-Id: Ifecfb453f5dc6b066892c04f4bdbec3759e32c53
CRs-Fixed: 3298120
For kernel version 5.15 or later, include linux/stdarg.h in
i_qdf_types.h and for older versions include stdarg.h.
Also remove inclusion of stdarg.h from dp_internal.h,
qdf_trace.h and qdf_types.h files.
Change-Id: I2eaa1af06fda0ac07a1be3d245f197de0b85719d
CRs-Fixed: 3295172
Current issue:
During disconnect host sends RSO STOP command to FW
and expects a response from FW before continuing disconnect.
If roaming is disabled (from supplicant or due to race condition)
before sending RSO STOP cmd then FW does not respond to the request
and host will assert.
Solution:
To handle this case after rso timer stop expiry continue with
disconnect and clean up the rso state.
Change-Id: Iac7b25d881702b87f946fe0ecfba02b1d806f06b
CRs-Fixed: 3301394
Implement qdf support for skb shared info and frag list append.
qdf macros will be used to handle skb shared info and list append.
Change-Id: I3e91bfb7a09f2e4547b3210a10919d6c84ec6567
CRs-Fixed: 3243932
rx_bank_id defined in IPA driver is a write parameter for WLAN.
Therefore abstract the QDF macro in a set way, where bank id
obtained from wlan driver is passed as an input parameter to
the macro and rx_bank_id field is then being set within the macro
itself.
Without the fix, setting the bank id to IPA driver is like
MACRO_FOO(foo) = val. On build targets with kernel version < 5.15.41,
this can lead to unexpected build error.
Change-Id: I727b8af0ad7bd076e7756b51682842e947eb0a36
CRs-Fixed: 3291711
Add support for,
a) HE MU radiotap information
b) Multi sta BA frame generation and
minor fix,
a) handling timestamp NULL,
b) update NSS and other field in radiotap
Change-Id: I7a8b95328779f967b9e63ff8048242412ab472b0
CRs-Fixed: 3270361
rx_bank_id is newly added in IPA driver to represent bank id
field in TX descriptor for BE chipsets. Therefore add same qdf
definitions for DP layer to pass the bank id to IPA driver.
Change-Id: I7efe7ec6917eab131e2b441a502cdb25e682a88a
CRs-Fixed: 3291711
To support SMMU debug framework, add new definitions
and add logic to track the mapping and unmapping of
a buffer via nbuf tracker.
CRs-Fixed: 3255423
Change-Id: I0b9e2828e6cd5e3204b6bba57af8806c4d080b32
In api __qdf_nbuf_data_get_eapol_subtype(), the EAPOL key_info
is evaluated only for SAE authentication, which result in EAPOL
logging failure for FILS authentication.
Check ACK and Secure bit in EAPOL key_info to determine
EAPOL packet irrespective of authentication protocol.
Change-Id: Ieef143d36d85cbf473b682810d658de93dbbdad2
CRs-Fixed: 3268362
Save the jiffies value in a per-timer context
in qdf_mc_timer_t while processing qdf_mc_timer_start
and scheduler_mc_timer_callback. It will help the
debugger to know the exact time gap between the
start and stop/expiry of the QDF timer.
Change-Id: Ia79011971184de9390632253417ee35dc7d26cf8
CRs-Fixed: 3283746
a. Optimize mon_rx_status and mon_rx_user_status objects memory
b. Add QDF API to remove last element in nbuf queue
Change-Id: I53328aae4d2861e0d2972556f61c8556be5e601c
CRs-Fixed: 3278895
The control buffer element of socket buffer structure (sk_buff)
is of the data type char and the virtual address element of network
buffer control block structure is of the type unsigned char. The
current prototypes cause this pointer assignment with different
signedness.
Fix this by using appropriate type in the API definition.
Change-Id: Ic20ca29ce5d26a134ef295663632a5b7fd420954
CRs-Fixed: 3269690
Currently net dev stats are handled using QDF MACROS which is not
ideal approach. So implement OS agnostic inline API's for
handling net dev stats.
Change-Id: Ib8ee368d6575ba6628df473fda057c254fc5bab4
CRs-Fixed: 3189332
Add a new module ID QDF_MODULE_ID_COAP for
CoAP(Constrained Application Protocol).
Change-Id: I4420f741984dfa81677717a6bbb337a0f0b3051b
CRs-Fixed: 3254124
Add provision to call sync prevent suspend which will wait for
system to resume and increment usage_count before returning.
Change-Id: I855e3fc2660dc7f3f78bb70f8eef6228cbef96d3
CRs-Fixed: 3253335
Add API to check ICMPV4 and ICMPV6 are redirect or not
This is to avoid a security breach.
Change-Id: I61e7c54c6d9279c1e7d2f316381fbc1c83ce5b4a
CRs-Fixed: 3233925
Before GKI enforcement and driver modulization, vendor drivers’
data section was part of vmlinux and they were registered with
minidump and collected when crash happens.
With GKI, vendor modules’ data section is part of va-malloc
region, which is virtually contiguous but physically not. It
is difficult to fit into the existing PA based minidump framework.
New VA-minidump driver allocates some CMA region which is registered
as one entry in minidump infrastructure. During panic, the driver
creates an ELF which is based on VA, copies it into that CMA region,
and finally it gets dumped as md_KVA_DUMP.bin.
This change makes use of this VA-minidump framework and implement
the APIs accordingly.
Change-Id: Ib1282990c91408bcd4e68365afe694830b90d0ac
CRs-Fixed: 3232060
Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT to represent
the feature supported under this macro
Change-Id: Ie1e387d641052cd5690c63f0c1216f4852544605
CRs-Fixed: 3250264
Set function pointer for SCS peer lookup and rule handler.
Add a new module id for SCS.
SCS database maintained in dp_peer structure is redundant as
same info is maintained in control peer. Therefore remove
SCS database from dp_peer structure and also remove APIs
which access/update this database.
Change-Id: I951f12de487a4be3ae169d1e309352e4e5031fc9
CRs-Fixed: 3226693
In hypervisor system, lock may hold too long due to context switches
and system calls at host which is leading to stolen time. Sometimes
this delay will be larger than 100 ms.
To address this issue, it needs to increase irq save spin lock detection
threshold to 100+ ms for hypervisor system.
Change-Id: I6ea11b96e786c7f45bc84b29e0315e690552569f
CRs-Fixed: 3125904
To support the EasyMesh feature WDS need to be enable and
same status need to be given to IPA driver for that add
new AST definition and declaration.
CRs-Fixed: 3226348
Change-Id: Id2c38b55310f6f0ef9e3d42d606feca16c7d9d78
Wrong value of tx status sent to supplicant for Datapath frame
via diag logging.
Convert the tx status value to enum diag_tx_status specific value.
Change-Id: I3bcf47ed5265d82fb64f1499f79e89be52d23a3e
CRs-Fixed: 3236391
DHCP and EAP logs are sent through the
vendor event to the supplicant.
Modify the DHCP and EAP log flow through
the diag event to the supplicant in order to maintain single
logging infrastructure.
Change-Id: I43025f393615451f83e3846c767c4572d108462e
CRs-Fixed: 3219460
1. Remove prints in per packet path
2. Add prefecth for skb shinfo
3. Avoid qdf_get_cpu() in DP tx
Change-Id: I86d196cc7865a2d5b3a5a6098f6f7d84397a60d0
CRs-Fixed: 3227568
Add new QDF enum for packet type and make
changes to pass status and type to packetlog callback APIs as QDF type
Change-Id: I423839e42b316ce43feaae34e297d3d8f0dee7ba
CRs-Fixed: 3224881
With restructured internal hif runtime pm. Modules using the
runtime pm module need to get registered with runtime pm modules
with their static IDs. QDF wrappers for allowing and preventing
runtime pm suspend are depreciated.
This change introduces ID for various modules and new qdf
wrappers, qdf_runtime_pm_get and qdf_runtime_pm_put are
introduced.
Change-Id: I111efe4aa980a26dbd7da30f031b8daba1c870f2
CRs-Fixed: 3169417
Incorrect value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT
leads to non-zero value of field "Punctured Channel Info" in
USIG TLV in radiotap header even if puncturing is not enabled.
Correct the value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT to 14.
Also use correct set of macros for setting of usig_mask.
Change-Id: I4a5594f784137238ee4aa072c7595e83673c1960
CRs-Fixed: 3218536
Add eMLSR support for ML STA. It consists of 2 changes-
1) Since POLICY_MGR_HW_MODE_EMLSR_MODE_BITPOS macro has value of 32, a new
SET BIT function has been implemented to accommodate the 64-bit operation.
2) Add eMLSR related params to peer assoc mlo param struct to update FW
via peer assoc request.
Change-Id: I6e54c632677eacabc57338b0f159d97023b100f2
CRs-Fixed: 3185010
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.
Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.
Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
calculate rssi_comb and rssi per chain values using
parameters received from the fw.
Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484