提交图

9722 次代码提交

作者 SHA1 备注 提交日期
Ananya Gupta
218ec1c24e qcacmn: Lock rx_desc_pool to collect nbufs and delete later
When multi page alloc is activated, spinlock for rx_desc_pool
is being held for more than 2 seconds, resulting in QDF_BUG.
The major proportion of the time period is used in unmapping
the nbufs.
To fix this, lock rx_desc_pool only to collect nbufs from
rx_desc in a list and unmap and free the nbufs after releasing
the lock.

Change-Id: Iff2078a0de56b51712e2f9a7c5ace7a959e2445d
CRs-Fixed: 2779498
2020-09-30 01:26:05 -07:00
Yeshwanth Sriram Guntuka
0907c4679d qcacmn: Initialize the HW FST memory to zero
HW flow search table memory is not initialized to
zero due to incorrect argument order to qdf_mem_set.
This results in the possibility of HW flow entry
to be not configured properly even though SW flow
entry is configured properly.

Fix is to use the appropriate argument order to
qdf_mem_set so that HW FST memory is initialized
to zero.

Change-Id: If24f50c507392bd8d4974232d48d3af6f4f29b43
CRs-Fixed: 2773951
2020-09-29 13:23:28 -07:00
phadiman
b49dc87bc2 qcacmn: Remove duplicate default macros for DP data rings
The number of DP data rings are configured through INI
files and the default number of rings are defined by macros.

Default macros for DP data rings are defined twice, hence
remove such duplicate macros

Change-Id: I62927751731b88ce74c4f2651aa74c19b301b89f
2020-09-29 13:23:24 -07:00
Bapiraju Alla
0ff4421b30 qcacmn: Send get_station and ll_stats req in a single command
Currently ll_stats and get_station requests are sent back to back
from user space. The firmware time difference between these two commands
results in extra sleep and wakeup for Q6.

To avoid this extra Q6 sleep and wake, send both requests in a single
command from the driver if the firmware supports that operation. Cache
the get_station results in the driver until user space request reach
to the driver.

Change-Id: I5e6f42f9e3836ef4bf61d3d9220f8cedb775cbd5
CRs-Fixed: 2778479
2020-09-28 17:08:12 -07:00
Shwetha G K
bc3e92d1d6 qcacmn: Print oneshot/periodic CFR failure stats
Print oneshot/periodic CFR failure stats as well during CFR stop

Change-Id: Id81f0b79fd59e11c8170855aded88af7870162b3
2020-09-28 03:35:03 -07:00
Rajasekaran Kalidoss
3c4ca49728 qcacmn: Add a new status code to represent an already suspended TWT session
The firmware sends a new status code to indicate an already suspended
TWT session. Update the status code enum to represent this state.

CRs-Fixed: 2784214
Change-Id: I7663ae1e1477919b7e93b0dcebd5287dc3e87263
2020-09-26 11:43:58 -07:00
Alan Chen
cc93b4f071 qcacmn: Add log to print wow flag parameter
Add log to print wow flag parameter to log various wow parameters.

Change-Id: I5da00d0720fd7abc0f95699b3fcd41925ae2a2d1
CRs-Fixed: 2784062
2020-09-26 01:18:12 -07:00
gaurank kathpalia
fdfaaf5260 qcacmn: Add connection logic after serialization part 2
Add event handling for mlme indication for connect start for
peer and its response. Add the interface manager missing
events. Add sync and async event handling for serialization
callback

Change-Id: I5cbb9a6ac1350f8035224135fb159010311a8468
CRs-Fixed: 2784163
2020-09-25 20:20:44 -07:00
Jinwei Chen
652bd3a42b qcacmn: Support unaligned consistent memory prealloc
Support unaligned consistent memory prealloc for CE srng
memory.

Change-Id: I7c014e4c13602de89d03e2f7c5efb39b5b376226
CRs-Fixed: 2761282
2020-09-25 20:20:40 -07:00
Deeksha Gupta
1f01cd3590 qcacmn: Disable 6Ghz RNR channel update for P2P scan
Currently P2P doesn't support 6Ghz, disable adding RNR channels
list to reduce P2P scan time duration.

Change-Id: I14e2c1a8d122e99bfd29acb59af5a6f5877f9a35
CRs-Fixed: 2783592
2020-09-24 18:11:41 -07:00
Manikanta Pubbisetty
537c758e28 qcacmn: add a variable to indicate FST's placement in CMEM
Add a variable to indicate FST's placement in CMEM; all
FST CMEM operations will be based on this.

Change-Id: I6d8c541d939d3ab74eab22d13d5034b8ea79e99c
CRs-Fixed: 2784299
2020-09-24 15:48:28 -07:00
sheenam monga
ba9e7a24f6 qcacmn: Avoid excessive logging
Issue: log level for some frequent prints is set to info
those logs would be present in dmesg as well as driver logs
and System performance may get affected due to excessive
logging.

Fix: Avoid redundant logs which may affect system
performance and change default log level to debug.

Change-Id: I053e95806884eab26c37340823b818c9e3c81036
CRs-Fixed: 2771412
2020-09-24 13:19:54 -07:00
Abhishek Singh
0b9139a2e2 qcacmn: Add public API to update mlme info in scan database
Adds a public API to update the mlme info in scan database.

Change-Id: Icc702c3605d5976937564cdd0a793e75db51d205
CRs-Fixed: 2784262
2020-09-24 10:45:53 -07:00
Jianmin Zhu
d6329cff1b qcacmn: Replace channel with frequency
Replace channel with frequency.

Change-Id: I291dd5110d5fe69361c636d60635b60309e8575f
CRs-Fixed: 2776242
2020-09-24 10:45:50 -07:00
Ashish Kumar Dhanotiya
7232e077f7 qcacmn: Update crypto params based on IEs for connect request
Currently connection manager does not update crypto params
of connect request based on RSN/WPA/WAPI IEs.

Add logic to update the connect params based on IEs.

Change-Id: I74aba3c061ed5fc203be7270dcc244f14718c781
CRs-Fixed: 2777574
2020-09-24 00:13:41 -07:00
Rhythm Patwa
224d4e2276 qcacmn: Add peer assoc param for Max BSS Idle option
Add peer assoc parameter 'peer_bss_max_idle_option' to
update the peer's Max BSS Idle option cap to FW.

Change-Id: If7fd4369bade8b289655c491849562c2357de877
CRs-fixed: 2781050
2020-09-23 17:13:52 -07:00
Amruta Kulkarni
9a9a3fae4f qcacmn: Fix compilation error in interface manager
- Compiler does not find declaration for functions
  declared in wlan_objmgr_global_obj.h file,
  causing errors fix is to add include header file.

Change-Id: I5cd7f8ed78f36444d9512d5fecec62ad7d1cadde
CRs-Fixed: 2779850
2020-09-23 11:52:43 -07:00
Shivani Soni
e82dcc6541 qcacmn: HTT stats debugfs deinit from dp_pdev_detach
Deinit of HTT stats debugfs files from dp_pdev_detach to prevent
deleting of files after 'wifi".

CRs-Fixed: 2782235
Change-Id: I77d86225762063af16bc8c2b716ca834698f1520
2020-09-23 05:20:44 -07:00
gaurank kathpalia
4de6d6b0d5 qcacmn: Handle connect response in connection manager
Handle connection response in connection manager.

Change-Id: I796b3c19c728323901f1a44e851616d3a0286763
CRs-Fixed: 2781566
2020-09-22 12:15:52 -07:00
Vevek Venkatesan
111e9faf76 Revert "qcacmn: Fix align issue for nbuf alloc"
This reverts Change-Id: I8eca9a085c0270f47318e64cefba686eac39a69a
That causes nbuf alloc size 64 bytes short of 2K, which leads
nbuf data to corrupt SKB shared info.

Change-Id: Iece451b4611c3fe9aaac00cc8aa7abbf79093b22
CRs-Fixed: 2779177
2020-09-22 12:15:49 -07:00
Jinwei Chen
d4da14a5ce qcacmn: Add 802.1Q/802.1AD support for DHCP/EAPOL/ARP data check
If the data ether header contains 802.1Q and 802.1AD tag,
current API to identify DHCP/ARP/EAPOL frame will not work properly,
for 802.1Q/802.1AD frame, there is extra 4 or 8 bytes in ether header.
Add 802.1Q and 802.1AD support for DHCP/EAPOL/ARP check.

Change-Id: Ibf00bd9e1497ba9700abca10d840104a73238f56
CRs-Fixed: 2771942
2020-09-22 07:59:28 -07:00
Min Liu
7c122af366 qcacmn: Add a vendor command for medium assessment
Introduce a vendor command for medium assessment through
QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS.

Change-Id: Iacce974c862a9899de853be70858a47ae719b541
CRs-Fixed: 2766103
2020-09-22 02:58:48 -07:00
Min Liu
9b469e30f9 qcacmn: Relocation of API and enum definition
Relocation of API and enum definition.

Change-Id: Ice7877b1271b8f58780367fbfd8c2637afc52f35
CRs-Fixed: 2773551
2020-09-22 02:58:45 -07:00
Yeshwanth Sriram Guntuka
9c4530907a qcacmn: Adjust frag len in Mon mode considering l2 hdr offset
In Monitor mode, frag len is not adjusted taking l2 hdr
padding into consideration. This will result in inclusion
of l2 hdr padding length twice in skb len and would cause
skb expansion due to length exceeding 2048 bytes.

Fix is to adjust frag len taking l2 hdr padding into
consideration.

Change-Id: I31d57621bc71c51ff581a30adb654cd7b9448443
CRs-Fixed: 2781177
2020-09-22 00:43:04 -07:00
Abhishek Ambure
a6c6790b93 qcacmn: Move RSNXE IE parsing to crypto module
Move RSNXE IE parsing to crypto module and add entry of RSNXE IE in
util_scan_copy_beacon_data() so that a copy of RSNXE IE remains in
scan entry cache and doesn't get free on scan result update.

Change-Id: I792c8636d7e1f21c6291158188ab2c1d241151ec
CRs-Fixed: 2780832
2020-09-21 19:30:30 -07:00
nobelj
9e4237dc34 qcacmn: Added WAR to populate rssi info
rssi value is always zero when retrieved from tlv header.
so added war to populate rssi value from stored value
of peer instead.

Change-Id: I6d5127438dae1f3891e3e78c97be93b79b4ee128
2020-09-21 16:55:55 -07:00
Ashish Kumar Dhanotiya
05d0f49abd qcacmn: Rename osif files and functions for connection manager
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.

Change-Id: Ic166c112189ef79a84f61d16e7e04a6334c61178
CRs-Fixed: 2780298
2020-09-21 12:22:43 -07:00
Abhishek Ambure
7c64a2c250 qcacmn: Add support to send wfa test config to FW
Host add support to send WFA test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID.

Change-Id: Id9bdec16c69a8c16cb4ce1fac87688023c768ee6
CRs-Fixed: 2772004
2020-09-21 03:53:33 -07:00
Jinwei Chen
18989f8ede qcacmn: support multiple pages prealloc for descriptor
Support multiple pages prealloc for DP descriptor

Change-Id: I66d4cef3acf69acf4b6fc8e5a6d01c3d67921dca
CRs-Fixed: 2751338
2020-09-21 01:33:16 -07:00
Jinwei Chen
21d6fd0ac6 qcacmn: add function for multi-pages memory zero operation
Add function qdf_mem_multi_pages_zero() to support multi-pages
memory zero operation.

Change-Id: I08b5c2722c02881550d3a1da27d5137c0957fd51
CRs-Fixed: 2776365
2020-09-21 01:33:12 -07:00
Abhishek Singh
e1fb6b17d4 qcacmn: Add reason code enum and prints in connect and disconnect
Add reason code enum and prints in connect and disconnect handlers,
also take care of the vendor reason code during disconnect resp.

Change-Id: I1298e0739bd08d7d43fcb3839a07459819207196
CRs-Fixed: 2778233
2020-09-20 21:53:39 -07:00
Saket Jha
91f3420b3d qcacmn: Always assert if TSO frag paddr is invalid
Always assert immediately in case of dma mapping error for TSO frags or
whenever paddr is set to 0. This will assert closer to the point of
failure in the future and point to the immediate operation causing this
behavior.

Change-Id: I8e3d58c1b4f18a8b7721b96686ea0ea4ff9c270b
CRs-Fixed: 2777588
2020-09-19 22:36:24 -07:00
Varsha Mishra
ca0cf99f1d qcacmn: FR-64493 WDS Extended support
Use AST override feature to send out multicast packet in
4 address format. Pass per packet peer_id from osif layer.

Change-Id: Ic86120169c89e7972caa3cc8c967de72670314d0
CRs-Fixed: 2775051
2020-09-19 10:25:26 -07:00
Naga
71b1eaed3e qcacmn: Add stats support for wds ext peer
Add logic to exclude dp peer stats from
dp vdev stats if wds extended is enabled.

Change-Id: I1a5a1794e04f90877916f92b7f4216a525ce6cce
CRs-Fixed: 2778199
2020-09-19 10:25:22 -07:00
Varsha Mishra
c7789836fd qcacmn: Extended WDS solution RX
1. Register peer->osif_peer for per-STA netdevice delivery.
2. Wi-Fi 3-address frame packets received would be processed
   through AP netdevice.
3. Wi-Fi 4-address frame packets received would be processed
   through per-STA netdevice.

Change-Id: I102874ea1de9fba40ab7f0e2c32c9de1c9b4d075
2020-09-19 10:25:18 -07:00
Nisha Menon
aa434cb679 qcacmn: Add qdf api to return nbuf size from data to end ptr
Add api to qdf abstraction framework to return size of nbuf
from nbuf data pointer to end pointer.

Change-Id: I8a450306ddcaa7c6a85607425bc1c1fd26c4e1e4
CRs-Fixed: 2767763
2020-09-18 18:23:46 -07:00
Nisha Menon
a8149aef8f qcacmn: Add qdf api to return data buffer len
Add qdf abstraction api to return the size of the skb
data buffer.

Change-Id: I469dc1cf6db9124b48e041a99a736097bece3f0f
CRs-Fixed: 2767763
2020-09-18 18:23:42 -07:00
Harsh Kumar Bijlani
65420efa1b qcacmn: Update frag counter and frag debug nodes for qdf_nbuf_unshare
Update frag global counter and refcount for the frag debug nodes
in debug version of the API qdf_nbuf_unshare.

Change-Id: Ia7ede226701793fe1febb3411aa508ba7967092c
CRs-Fixed: 2776166
2020-09-18 18:23:38 -07:00
Harsh Kumar Bijlani
0ee6465661 qcacmn: Add check for mem debug disabled in qdf_frag_debug_update_addr
Check for is_initial_mem_debug_disabled is missing in API
qdf_frag_debug_update_addr API. Add check for is_initial_mem_debug_disabled
so as to return without proceeding further when
is_initial_mem_debug_disabled is set to true.

Change-Id: Ie6251e70d2c01302121ff1c63ecf438f626de706
CRs-Fixed: 2780110
2020-09-18 15:17:29 -07:00
Harsh Kumar Bijlani
1f7706356f qcacmn: Update global frag counter and frag debug nodes refcount
The current logic for decrementing the global frag counter and
refcount for the frag debug nodes does not take into consideration
the no. of users of nbuf.

Decrement global frag counter and frag debug nodes refcount only
when no. of users of nbuf is 1.

Change-Id: I5b88691f7e3e9b7e29e19479c3a3c12e70c0f311
CRs-Fixed: 2776170
2020-09-18 15:17:26 -07:00
gaurank kathpalia
4af3739c3d qcacmn: Add connect path logic after serialization
Add connect logic after serialization in connection manager.

Change-Id: I6aabc956d4ade20379aec000f566ccbfcfdcfd23
CRs-Fixed: 2776348
2020-09-18 15:17:23 -07:00
Abhishek Singh
b494f209e8 qcacmn: Fix connection manager osif context initialization
Rename connection manager osif context and move the init and deinit
to osif from umac.

Change-Id: Id320e1b0e9bf53f1a2aa4a5bc536d6dec7f63bf2
CRs-Fixed: 2779890
2020-09-18 15:17:19 -07:00
Shivani Soni
f1392936e6 qcacmn: Reserve 128 bytes headroom in monitor status buffer
Reserve 128 bytes headroom for monitor status buffer
to accomadate feature specific radiotap header or any other info
in the headroom.

CRs-Fixed: 2775118
Change-Id: I2b1aba26e565b58c48a2e24ad17965aacd6b4526
2020-09-18 10:38:14 -07:00
Edayilliam Jayadev
8c77df3b7a qcacmn: Fix synchronisation between process context and tasklet
Spectral parameter state information is accessed in both
process context and tasklet context. Currently
qdf_spin_lock/qdf_spin_unlock is used to protect these data structures.
This can lead to deadlock in the scenario where the process holding the
lock gets preempted by the tasklet. To avoid this use
qdf_spin_lock_bh/qdf_spin_unlock_bh.

CRs-Fixed: 2776902
Change-Id: I6d188e55d5066241b5f38a655f4a587c9edb0b8b
2020-09-18 10:38:10 -07:00
Vijay Krishnan
30d4093334 qcacmn: Remove dfs_mlme_mark_dfs_for_freq function
The function dfs_mlme_mark_dfs_for_freq was introduced as a counterpart of
dfs_mlme_mark_dfs but both implement same functionality. In order to remove
redundancy, remove dfs_mlme_mark_dfs_for_freq. Replace the references to
dfs_mlme_mark_dfs_for_freq with dfs_mlme_mark_dfs.

CRs-Fixed: 2738831
Change-Id: I567861e4491802d73549670dfd30113b1a773d07
2020-09-18 07:30:08 -07:00
Pooventhiran G
df0c00317b qcacmn: QCA vendor command to update SSID
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_UPDATE_SSID
to update the new SSID in hostapd. NL80211_ATTR_SSID is used to
encapsulate the new SSID.

Change-Id: I0c6e00afefa8cf00ceb58b4cdf72958f2ece8307
CRs-fixed: 2774888
2020-09-17 21:09:14 -07:00
Debasis Das
82de94ec39 qcacmn: Free cloned nbufs in error condition
While sending me packets, if failure is encountered
either while preparing tx desc or while enqueuing
to h/w,the cloned nbuf's must be freed.The unmap
must be done only if the failure is encountered
for all the me buffers.

Change-Id: I08dbae1fa1820b4fb31119f65e939aead829321b
2020-09-17 21:09:10 -07:00
Debasis Das
c1184913b7 qcacmn: Ensure nbuf count is less than no of segs
While preparing raw packets for transmission, the count
of nbuf belonging to one mpdu must be less than the
number of segments.This makes sure the frags array inside
seg_info does not go out of bounds.

Change-Id: I7fffba7f64da274aa73c558cfc63d90f4419a04d
2020-09-17 21:09:07 -07:00
Nirav Shah
a24f3db18e qcacmn: Increase CE2 host ring size to 512 for QCN7605
Increase CE2 host ring size to 512 for QCN7605 to avoid
ring full condition in FW in debug build.

Change-Id: I900611487696e3e83cd7adc72f10cd2cdcb15ead
CRs-Fixed: 2778941
2020-09-17 18:34:16 -07:00
Yu Wang
899debe4d7 qcacmn: add crypto api to free keys for vdev
Add api 'wlan_crypto_free_vdev_key' to free keys
for specified vdev.

CRs-Fixed: 2765406
Change-Id: I44b09ac30e16aca2aec8a0763b7848bfe779a345
2020-09-17 18:34:13 -07:00