提交图

5052 次代码提交

作者 SHA1 备注 提交日期
chenguo
ee42a3202b qcacmn: Reorganize skb unmap, free and tx_desc free logic for TSO
In TX completion, we need to handle TSO frames release in below
sequence: Unmap skb -> free skb -> free this tx desc. Thus separate
skb unmapping and free tx descriptors for TSO logic.

CRs-Fixed: 2250960
Change-Id: I6979b4ec64e3f51bc6d8e485e843e2ab35eee86e
2018-06-27 03:44:53 -07:00
Soumya Bhat
51240dc6db qcacmn: Fix beacon metadata in debug sniffer mode
In existing code the HTT stats buffer was getting freed after
parsing mgmt. payload TLV, which was leading to missing beacon
metadata.

Add change to continue processing HTT stats buffer even after
receiving mgmt. payload TLV.

Change-Id: Iac67577ea5e362f046a1d5432204362a9559c788
CRs-Fixed: 2248313
2018-06-26 22:43:02 -07:00
Bala Venkatesh
1e9e680a92 qcacmn: Defer the channel switch if it is already in progress
When sta+sap scc enabled on dfs channel then SAP cannot operate on
DFS channel in standalone mode. If STA+SAP are operating in SCC mode
on a DFS channel and STA gets disconnected from reference AP then driver
schedules a workqueue to move the SAP from DFS channel to user configured
channel. At this time if STA again connects to reference AP within few ms
then driver again schedules one more workqueue to move the SAP to STA's
channel. Sometimes the second workqueue may fail to switch the channel
if first one is not yet completed. So added event variable to schedule
second workqueue only when first one is complete.

CRs-Fixed: 2267005
Change-Id: Ia6ce4b6264c35f6d2c809e2a3f65f535e930874e
2018-06-26 18:53:35 -07:00
Naveen Rawat
02c2fb4606 qcacmn: Add channel information in ndp confirm event
Add channel information in NDP confirm event sent to
wifihal.

Change-Id: Icecf050aa5d67519c6278460ad92a2a02fcee2c2
CRs-Fixed: 2252226
2018-06-26 18:53:33 -07:00
Naveen Rawat
b4a29b7a42 qcacmn: Fix vdev reference in NDP commands
Assign the vdev in NDP request message and hold the vdev reference till
the command is processed. Else the consumer of message will fail when
trying to take reference since vdev was not set in request packet.

Change-Id: I4c7e50690eff1f92f151f00209ec786a03252e76
CRs-Fixed: 2252035
2018-06-26 18:53:30 -07:00
Bala Venkatesh
5811d874a6 qcacmn: Ignore CSA if the channel is DFS or disabled
If MCC to SCC switch is enabled, SAP is active and CSA
received for STA interface, then ignore the CSA if channel
is DFS/disabled.

CRs-Fixed: 2263037
Change-Id: I98b8d957766358ea86cc9f50339725cf4bf0038b
2018-06-26 17:36:11 -07:00
Nirav Shah
fdfc25db7f qcacmn: Fix compilation error to enable genoa pcie
Fix compilation error while enabling QCA_WIFI_3_0_ADRASTEA
and HIF_PCIE flag for Genoa.

Change-Id: Ia8c44ae8623c22af415dc66061f38b59169f08a8
CRs-Fixed: 2266809
2018-06-26 02:56:29 -07:00
Nirav Shah
d250672acf qcacmn: Fix compilation error for NAPI disable
Fix compilation error for NAPI disable

Change-Id: I21116cfa061b2c804c3a4cedf106773d538294b3
CRs-Fixed: 2266765
2018-06-26 02:56:26 -07:00
Rakshith Suresh Patkar
09089f1b73 qcacmn: Remove unused APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info
Currently, the APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info
are no longer used in our driver code.

Cleanup the unused code for qdf_nbuf_set_rx_info and
qdf_nbuf_get_rx_info.

Change-Id: I57acbd4e5901d8922e3b650f0f3b57f056a0ae3e
CRs-Fixed: 2259212
2018-06-25 23:53:07 -07:00
Kabilan Kannan
8727ab68ff qcacmn: Add sanity check in init/deinit function
Add sanity check in init/deinit memory alloc
function.

Change-Id: Icb9862fabb64d9d82f302c1264c7cd74af1b1a0f
CRs-Fixed: 2196072
2018-06-25 19:54:10 -07:00
Abhijit Pradhan
e556063bc7 qcacmn: Rename a DFS CAC function and corresponding function pointer
Rename the function dfs_mlme_deliver_event_up_afrer_cac() to
dfs_mlme_deliver_event_up_after_cac and rename the function pointer
mlme_deliver_event_up_afrer_ca to mlme_deliver_event_up_after_cac

Change-Id: I29c2094a0b45c9583b897e088ce9938c759e26ba
CRs-Fixed: 2251792
2018-06-25 17:37:30 -07:00
Nachiket Kukade
4d5a2fe8d9 qcacmn: Clear the force_set flag while resetting a qdf_event
In case where a qdf event was waiting and an SSR has occurred,
force_set flag is set for the event. After driver recovery is
complete the same event can be reset and re-used without
resetting this flag. This may cause a failure even after the
event was successfully completed.

Clear the force_set flag while resetting a qdf_event

Change-Id: Ia8cbc04776144d40e9c59fa339f8993fdbb73368
CRs-Fixed: 2264320
2018-06-25 14:12:54 -07:00
Ajit Pal Singh
506c4d60f5 qcacmn: Add new members to 'struct cdp_lflowctl_ops' for HL flow control
Add new function pointers type to 'struct cdp_lflowctl_ops' to set tx
desc limit and update OS queue status.
Also add cdp_hl_fc_set_os_queue_status()

Change-Id: I18dab34c31a5d8f459179358e16ef124a13f5742
CRs-fixed: 2236466
2018-06-25 10:02:35 -07:00
Ajit Pal Singh
d1543e09d1 qcacmn: Add cdp_hl_fc_register() to register FC for HL DP
Add function cdp_hl_fc_register() for registering flow control
callback for HL netdev flow control.
The flow control callback will be responsible for pausing/restarting
OS network queues.
Also the parameters of function pointer "cdp_lflowctl_ops:
register_tx_flow_control" are changed.

Change-Id: I6a1c82492fd67557eea7523134ff465726ac7a1e
CRs-fixed: 2236466
2018-06-25 10:02:33 -07:00
Arif Hussain
ecef5a4024 qcacmn: Add api to get dfs offload service bit in target_if
Add api to get dfs offload service bit in target_if.

Change-Id: I771ae8a2194250769d6e6d609b0a1863012110ea
CRs-Fixed: 2264477
2018-06-25 10:02:30 -07:00
Chaithanya Garrepalli
a173a184ae qcacmn: fix the stats counter in raw mode
use hal_msdu_len instead of qdf_nbuf_len to get
the packet length and correct the packet length
for first msdu of a amsdu

Change-Id: I7410cb6bd98743f3b01019c9e394c32c77c3a30e
CRs-Fixed: 2228232
2018-06-25 08:51:11 -07:00
Gerrit - the friendly Code Review server
f48c3911e9 Merge changes into wlan-cmn.driver.lnx.2.0 2018-06-25 08:26:34 -07:00
Sriram Madhvapathi
303c73c76d qcacmn: SDIO HIF layer refactor
1. Move mailbox transfer dma definitions to mailbox.h
2. hif_configure_device changes to make it more generic
3. Add address fixup function

Change-Id: I12bdf8b07350411093ba35071411525a8333cf93
CRs-Fixed: 2252417
2018-06-25 04:56:06 -07:00
Sriram Madhvapathi
12bcba2d71 qcacmn: SDIO HIF layer refactor
Redo the hif layer object for separating the transfer methods
1. Move swap_mailbox from hif_sdio_dev to hif_sdio_device
2. Move the mailbox registers to mailbox specific file
3. Send request flags to be populated per transfer method

Change-Id: Ia53ab2b8cd39875d1e7353a212057ff010e89db8
CRs-Fixed: 2252410
2018-06-25 04:56:04 -07:00
Sriram Madhvapathi
df25e2251d qcacmn: SDIO HIF layer refactor
Refactor the mailbox operations in a separate file mailbox.c
Collect common transfer functions in new file transfer.c
Remove redundant file hif_sdio_send.c
Remove redundant file hif_sdio_recv.c

Change-Id: I964970f4651a11000e9833ad21eef1b255682341
CRs-Fixed: 2252406
2018-06-25 04:56:02 -07:00
Madhvapathi Sriram
068bac1f4a qcacmn: SDIO HIF layer refactor
Refactor the quirks into a separate file.
Clean up hif_device_inserted by adding multiple functions.
Clean up startup and enable task.

Change-Id: I2199a1f355561e52fa06a82aa196e0eab2ab34c6
CRs-Fixed: 2252385
2018-06-25 04:56:00 -07:00
Shiva Krishna Pittala
7d721c3baf qcacmn: Fix file name tracking logic in QDF nbuf tracker
As WIN has multiple modules and QDF is the last one to be unloaded,
QDF is crashing when it tried to print the file name of an nbuf
allocated by other modules. To fix this, copy the file name in the
QDF nbuf tracker, rather than using the pointer to file name,
to avoid access to the invalid pointer.

CRs-Fixed: 2258770
Change-Id: I27ee76e58b0f5a976840783cfeba451784de85dd
2018-06-25 03:17:57 -07:00
Sathish Kumar
5cf9805bc3 qcacmn: Changes in direct buffer Rx module
1. Add support upto 2048 buffers in the ring
2. Add API to print current ring status per module per pdev
3. Start module ID numbering from 0

Change-Id: I7954007c6c486877ffb2ab91724885af2fbaab8c
CRs-Fixed: 2263968
2018-06-25 03:17:55 -07:00
Alok Kumar
9bd8152057 qcacmn: Flush TxLookupQueue for ENDPOINT_0 during htc_cleanup
When driver unload is triggered, check_for_leaks complains,
saying it finds pending entries in TxLookupQueue of ENDPOINT_0.

Flush pending entries in TxLookupQueue for ENDPOINT_0 during htc_cleanup.

Change-Id: Ica661453d5cef283526cfa1e7267d5349b5e2310
CRs-Fixed: 2249980
2018-06-23 20:10:16 -07:00
Ashok Ponnaiah
09ec6f98d0 qcacmn: Fix key_mgmt datatype
key_mgmt was using uint16 datatype and used
to hold more than it's size.
increased its data size to uint32 address this
issue.

Change-Id: I88a4550bff2e0543700ba1470df3340e7020b7f0
CR-Fixed: 2254883
2018-06-23 18:03:19 -07:00
Rajeev Kumar
8716234661 qcacmn: Clean up excessive console logging from target if and qdf
Clean up excessive logging from target if and QDF to avoid spamming
kernel log buffers.

Change-Id: Ib81d6bb68bae9d5c477755b31dc20e10663147d5
CRs-Fixed: 2259283
2018-06-22 18:41:06 -07:00
Abhishek Singh
46cb680595 qcacmn: Add cdp peer debug id type for ccmp replay detection
Add PEER_DEBUG_ID_WMA_CCMP_REPLAY_ATTACK, to be used during
ccmp replay detection to get the peer ref count.

Change-Id: I6159556db959f447edcf75a5f64d398cbe544a80
CRs-Fixed: 2264963
2018-06-22 17:29:09 -07:00
Naveen Rawat
305da26660 qcacmn: Avoid un-initialized access in wifi_pos_get_ch_info
In function wifi_pos_get_ch_info initialize channel list array
before use.

Change-Id: I3b6071448fddee4aa62e833fb9bcc50aefffd7a9
CRs-Fixed: 2254723
2018-06-22 14:08:10 -07:00
Shiva Krishna Pittala
b52ad74361 qcacmn: debugfs support for qdf memory tracking on WIN
qdf_debugfs_init needs to be rearranged for the debugfs to work for
memory tracking on WIN.

Change-Id: I660731a22368d34a1e4f8c29539fffd9731d02cc
CRs-Fixed: 2254297
2018-06-22 13:02:36 -07:00
Naveen Rawat
cb0a5b0bf4 qcacmn: Fix NDI create sequence
Create NDI vdev after adapter is added to back of hdd adapter list,
so that vdev create completion callback can identify right adapter
and set corresponding completion variable.

Change-Id: Id0d78a5e482c875fee346224f37c29a874814133
CRs-Fixed: 2252031
2018-06-22 10:32:42 -07:00
Sathish Kumar
18617b8638 qcacmn: Decouple netlink service and wlan logging service
Netlink service init and exit is invoked as part of wlan logging
init and exit during qdf module init and exit. This brings in a
hard dependency to enable and compile wlan logging service
even if not used.

Decouple netlink service and wlan logging service to remove
inter-dependency. WIN qdf module currently does not require wlan
logging to be enabled. This separation leads to bss savings in qdf
module.

Change-Id: Ib0afafd196106eba78ad9783eb1a6cece77c00fa
CRs-Fixed: 2258640
2018-06-22 08:18:23 -07:00
Krunal Soni
6874a85101 qcacmn: Check HW mode before sending join request to lower layers
When STA's join req times out on current BSS, SME issues next BSS
internally without checking HW mode for new channel

For example, STA tries to connect SSID="abc",
BSSID="a1:a2:a3:a4:a5:a6", channel=36 and lets say it fails. It
should try few more times to same BSSID and after that it will try
next bss. Lets say next BSS it found has, SSID="abc",
BSSID="b1:b2:b3:b4:b5:b6", channel=1 then it needs to check whether
hardware mode change is required for channel=1. If driver fails in
checking hardware mode then following check will prevent the bad
situation.

CRs-Fixed: 2261129
Change-Id: Ie31ac5b8b90c6e63122148647ad333fccfbf9dbf
2018-06-22 06:01:58 -07:00
Naga
5233ffe848 qcacmn: Enhance cp_stats component
Add implementation to remove unused stats from pdev, vdev
peer cp_stats structure, reorder ol_ath_radiostats and
add inline macro for phy_err

Change-Id: Id91f11526c03bf14dfc285a1c87b24c8e5e00b02
CRs-Fixed: 2262329
2018-06-22 02:58:56 -07:00
Vignesh U
8178d6fcb0 qcacmn: Stop and reset the DFS test timer for Full-offload
DFS test timer is initialized and used by Full-offload but the timer is not
reset during DFS reset.

Reset DFS task timer during DFS reset.

Change-Id: I5d5395744a98e5ca2a7a94971e7c1c6e6e0b174f
CRs-Fixed: 2252612
2018-06-22 01:50:00 -07:00
Edayilliam Jayadev
3822826445 qcacmn: fix api for getting first vdev
As per the current design we are trying to take a ref
for the vdev even when there are no active vdev.
Fix this by adding a NULL check.

CRs-Fixed: 2262983
Change-Id: Iac62c9d0e1138c3d150a179546ad7793ff61e3db
2018-06-21 21:19:00 -07:00
Edayilliam Jayadev
05f1b59642 qcacmn: Sync Spectral header files
Sync the Spectral header files used by driver and Spectral related
applications.

CRs-Fixed: 2258823
Change-Id: I9a4fb89e9327fffb7478619e63788a1d284f49b5
2018-06-21 21:18:57 -07:00
Bala Venkatesh
03643e756f qcacmn: Allow SAP to move from one DFS chan to another DFS chan
Allow the SAP to move from DFS channel to another DFS channel in
STA+SAP SCC concurrency scenario.

CRs-Fixed: 2263031
Change-Id: I3d1f5e57415ed39a30125d4565bb768926dff4c9
2018-06-21 17:40:40 -07:00
Kabilan Kannan
9248a4c4e2 qcacmn: Do not stop TDLS timers before restart
MC timer implementation has changed recently, and
it requires TDLS timers shouldn't be stopped before
restart.

Change-Id: I718972bd0f7c66b04145ee38c58440f6240a8de2
CRs-Fixed: 2223777
2018-06-21 15:27:04 -07:00
Yun Park
aadee8cc5a qcacmn: Add ol_txrx_completion_fp in ol_txrx_ops
Add ol_txrx_completion_fp in ol_txrx_ops to provide support for
callback during TX completion.

Change-Id: I7af478636badd8f8562460cefaf5db56633df8e9
CRs-Fixed: 2253569
2018-06-21 13:52:22 -07:00
c_cgodav
e6f2f9ad64 qcacmn: Fix memory overrun issues in smartlog CE dump
Fix the memory over run by removing the extra "END" ascii print
as it overruns the available memory.

Tests Done:
Ran Pollux_ACFG_MIPS_3Radio_Channel_Change_120s_Rev_1.0.0.0 for ~20hrs
Ran PDT_Pollux_Reboot_Rev_1.0.0.1 for ~36hrs

Change-Id: Id71fe8c95a41369f55d53ece043a0b00e62c5d4f
2018-06-21 05:22:26 -07:00
c_cgodav
862541432b qcacmn: Add api for dumping the CE discriptors
API for dumping the CE descriptors copies all descriptors for
the given Copy engine id and also copies the SKB packet pointed
by the descriptors till smart_log_skb_sz bytes.

Change-Id: I511bda77319944c1ec2377f716087956ce0637ac
CRs-Fixed: 2008290
2018-06-21 05:22:22 -07:00
Krishna Rao
cae37fee6e qcacmn: Add definitions for fatal condition event type/subtype
Add host WMI definitions for the type and subtype fields in
wmi_fatal_condition_event.

CRs-Fixed: 2257956
Change-Id: I2c7043081de86a42b3e89ade34d4a1ffc0c39d77
2018-06-21 05:22:20 -07:00
c_cgodav
b69942b3c9 qcacmn: CE Debug Enhancements WMI interface
Add WMI interface for the smart logging feature.

Change-Id: Ife3784020d1b9458c2b09b6a2f31f55aab5f57ec
CRs-Fixed: 2001507
2018-06-21 05:22:17 -07:00
Ashish Kumar Dhanotiya
6f00d693a9 qcacmn: Vendor command support to enable/disable GTX
Add vendor command support to enable or disable GTX.
Currently there is no vendor attribute to enable/disable
GTX from vendor command. Add vendor attribute
QCA_WLAN_VENDOR_ATTR_CONFIG_GTX support through
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION vendor command
and with new wmi command WMI_VDEV_PARAM_GTX_ENABLE.

Change-Id: I8a740f9209ffd5f6438c3cfdd830ee2a76d0aa52
CRs-Fixed: 2261322
2018-06-21 01:58:58 -07:00
Shaakir Mohamed
a0895b9989 qcacmn: Add support for ETSI pre-CAC cleared list
In ETSI domain, after CAC, channel is added to ETSI CAC cleared list,
so that next time it can skip CAC if channel is already present in this
list. If radar found, remove channel(s) from this list indicating that
when channel(s) is/are selected in future, the CAC needs to be re-done.

Change-Id: If6b31ecda2ab159188e7724bce7d1c2d8375fa3c
CRs-Fixed: 2143266
2018-06-20 21:23:28 -07:00
Qiwei Cai
d56247e9e4 qcacmn: Featurize WLAN_FEATURE_LINK_LAYER_STATS
Featurize WLAN_FEATURE_LINK_LAYER_STATS to compile out in mission mode.

Change-Id: I16b7ffe869f6e46736693a02b58954a50e31b03b
CRs-Fixed: 2244583
2018-06-20 15:19:52 -07:00
Naveen Rawat
8d36892372 qcacmn: Fix OOB access in utils_dfs_get_chan_list
Fix out of bound access for array "weight_list" with size 55 bytes
and declared on stack of function utils_dfs_get_chan_list. Same memory
is accessed in function policy_mgr_update_with_safe_channel_list with
index 127, leading to OOB access.

Change-Id: Ib7ba74e0096e90fd197bc563d2e82e497cf83759
CRs-Fixed: 2232833
2018-06-20 14:01:17 -07:00
Nachiket Kukade
b29adc4a4f qcacmn: Implement the commands that cover APF 3.0 requirements
Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.

Complete the implementation of these new commands.

Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
2018-06-20 12:53:13 -07:00
Naveen Rawat
2e7637575d qcacmn: Free memory for stats event to os_if in timeout
In case os_if request times out, free the corresponding
memory allocated for stats event to os_if.

Change-Id: I23bd65f2b79c71070d65b5e4045eaf4e17113354
CRs-Fixed: 2262653
2018-06-20 07:59:40 -07:00
Nandha Kishore Easwaran
5840784be3 qcacmn: Fix invalid format specifiers for kernel addr
Change format specifiers to print kernel vaddr from
%p to %pK.

Change-Id: Ice98161bb1b8b5feb1d8ee1ba8a95b7d552f9403
CRs-Fixed: 2211136
2018-06-20 07:59:37 -07:00