Revīziju grafs

5479 Revīzijas

Autors SHA1 Ziņojums Datums
Linux Build Service Account
a62d430e01 Merge "qcacmn: Add logs in qdf_nbuf_alloc()" 2018-09-06 10:04:01 -07:00
Linux Build Service Account
0c999dc79c Merge "qcacmn: Add logs in qdf_mem_malloc(), and qdf_mem_malloc_atomic()" 2018-09-06 10:04:01 -07:00
Linux Build Service Account
8563781a63 Merge "qcacmn: Fix NULL pointer dereference in policy manager" 2018-09-06 02:04:55 -07:00
Linux Build Service Account
5faab33ddc Merge "qcacmn: Disable CE-IRQ interrupt before cleaning up the tasklets" 2018-09-06 02:04:55 -07:00
Arif Hussain
6e9fa6a725 qcacmn: Add logs in qdf_nbuf_alloc()
In qdf_nbuf_alloc() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.

Also add qdf_rl and qdf_rl_nofl_* macros.

Change-Id: Ib8ce83335807cfbd2d83d1f165d6bec1dc1e4c94
CRs-Fixed: 2281983
2018-09-06 01:42:11 -07:00
Arif Hussain
58189eb0bd qcacmn: Add logs in wmi_buf_alloc()
In wmi_buf_alloc() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.

Also add wmi_nofl_* macros.

Change-Id: Ib1ac8bf2bbcefa7f0015aff2733d3dc4773b185d
CRs-Fixed: 2281983
2018-09-06 01:42:09 -07:00
Arif Hussain
c516cd4d5d qcacmn: Add logs in qdf_mem_malloc(), and qdf_mem_malloc_atomic()
In qdf_mem_malloc() and qdf_mem_malloc_atomic(), pass function
name and line number, and log the same in case of failure, this
approach helps to remove error logs in caller function there by
reducing text segment.

Change-Id: Ia4586b112c6dd64aca5b397b43bb17499a0e6e30
CRs-Fixed: 2281983
2018-09-06 01:42:06 -07:00
Tushnim Bhattacharyya
680c3e8340 qcacmn: Fix NULL pointer dereference in dfs
In target_if_radar_event_handler, target_if_dfs_cac_complete_event_handler
& target_if_dfs_radar_detection_event_handler wmi_handle is derived &
dereferenced with out a NULL check. Add a NULL check for wmi_handle
before it is dereferenced.

Change-Id: I6dde5132a6a2e31a25654bd818a90e1c164a4a74
CRs-Fixed: 2305505
2018-09-06 01:42:04 -07:00
Rachit Kankane
898f6ff055 qcacmn: Featurize P2P Listen Offload
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.

Change-Id: I3c32b4ee2b37421e49acee4bd20d36e7a8a3bf77
CRs-Fixed: 2304555
2018-09-06 01:42:01 -07:00
Tushnim Bhattacharyya
e381d2f9ca qcacmn: Fix NULL pointer dereference in policy manager
In policy_mgr_is_hw_sbs_capable wmi_handle is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: I6081bb6f24ce52a3016712d4f1b481f5fb6a9c8f
CRs-Fixed: 2305529
2018-09-05 23:55:49 -07:00
Krunal Soni
287dee3f43 qcacmn: Disable CE-IRQ interrupt before cleaning up the tasklets
Current driver calls ce_tasklet_kill API which does
tasklet_disable() first and then does tasklet_kill which invites
race condition as follows.

1) Lets say CPU-0 is executing ce_tasklet_kill() API
   for CE1 (in process ctx) to kill any tasklets associated with CE1-IRQ

2) t1 time- CPU-1 has scheduled the tasklet as part of rescheduled API
   ce_schedule_tasklet(), so this tasklet goes to be scheduled list of
   kernel.

3) t2 time- CPU-0 executes tasklet_disable() and about to execute
   tasklet_kill()

4) t3 time - kernel got a chance and wants to run the tasklet which was
   scheduled at t1 time but it can't because t2 time, tasklet has been
   disable.

5) t5 time- CPU-0 now executes tasklet_kill which checks if any
   tasklet which is in "SCHEDULE" state to go to "RUNNING" state and
   finish and tasklet on CPU-1 can't go to "RUNNING" state due to
   tasklet_disable(), driver is stuck waiting for it to finish.

Fix the situation by removing tasklet_disable()

Change-Id: I3ac56975dc1f6538962060dd20e881c43e7516ca
CRs-Fixed: 2301368
2018-09-05 23:55:47 -07:00
Gerrit - the friendly Code Review server
521ac5f732 Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-05 23:34:02 -07:00
Aniruddha Paul
7d991b3f72 qcacmn: Increase the WBM2SW ring size to 8191 from 4096
Increase the WBM2SW ring size to 8191 from 4096 for NSS
offload radios

Change-Id: Iad8c0beb811a57bc6ee6136231c6199e9e67bd13
2018-09-05 22:15:16 -07:00
Dustin Brown
39bb395e2e qcacmn: Add scheduler history
To help triage issues where the scheduler thread is processing slowly,
add a scheduler processing history for offline analysis. This can also
be useful in determining if a processing delay in some operation is
attributed to the scheduler thread or not.

Change-Id: Icfea17efc34b2a23d4f8b2baebe08db4e2f6ce8b
CRs-Fixed: 2307252
2018-09-05 22:15:13 -07:00
Sravan Kumar Kairam
b7b7b36900 qcacmn: Add mgmt_txrx api to drain packets specific to peer
At peer deletion corresponding mgmt packets needs to be cleaned up.
So add mgmt_txrx api to drain all the mgmt packets specific to a peer.

Change-Id: I6a7f5efa665a1da009e594248e88002df35ae9ff
CRs-Fixed: 2299964
2018-09-05 22:15:10 -07:00
Tushnim Bhattacharyya
9b8cfb0ebf qcacmn: Fix NULL pointer dereference in ftm
In target_if_ftm_process_utf_event is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: Id3c1ae4df9aa7b0cfc12fbf9288bec2ae72c6de6
CRs-Fixed: 2305506
2018-09-05 22:15:05 -07:00
Tushnim Bhattacharyya
a9307520d3 qcacmn: Fix NULL pointer dereference in tdls
In target_if_tdls_update_fw_state, target_if_tdls_set_offchan_mode,
& target_if_tdls_set_uapsd wmi_handle is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: If741f69773a712cebcd1be889ca09d01eee97fae
CRs-Fixed: 2305520
2018-09-05 22:15:02 -07:00
Tushnim Bhattacharyya
80dfdd5a6f qcacmn: Fix NULL pointer dereference in pno & regulatory
In target_if_pno_start, target_if_pno_stop,
tgt_reg_chan_list_update_handler, tgt_reg_11d_new_cc_handler &
tgt_reg_ch_avoid_event_handler wmi_handle is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: I4b4afa5bb74a2c97d921af2672eb285f7c34062a
CRs-Fixed: 2305512
2018-09-05 22:14:59 -07:00
Liangwei Dong
9996a315be qcacmn: Skip chan list update during SSR
The Firmware will switch to default US regdomain
after SSR.

After SSR we need to keep the old country code,
so skip the chan list update firmware event duing SSR.

Change-Id: I8735abef67e072f60961aab655a016348dc9d4a0
CRs-Fixed: 2304303
2018-09-05 18:11:36 -07:00
Bala Venkatesh
f0c03be151 qcacmn: Configure the tdls offchannel params through IOCTL
Add support to configure tdls offchannel params
through IOCTL commands.

Change-Id: I90ba90b5ef980f837ce4759755efe190672ad911
CRs-Fixed: 2309185
2018-09-05 18:11:33 -07:00
Sandeep Puligilla
b2b84401a8 qcacmn: Modify debug log levels in P2P/TDLS/SCAN
Change debug message log level info/error/warn
to debug.

Change-Id: Ib8c5606b67ee653532489db876482b377c93e73c
CRs-Fixed: 2303185
2018-09-05 16:45:45 -07:00
Shaakir Mohamed
fa4d383541 qcacmn: Add DFS coverage for overlapping ETSI channels
Add DFS coverage for channel plus width combinations
for overlapping channels in ETSI domain.

Change-Id: Id55f6b42a7ae3bad45c334ff5163a9458b825cd6
CRs-Fixed: 2291635
2018-09-05 16:45:42 -07:00
Sravan Kumar Kairam
d7d1d6707f qcacmn: Remove vdev wds enable check for intra-bss fwd
Currently wds enable for vdev conditional check is there for
intra bss rx forward. This check will break the intra bss for
the platforms which does not support WDS feature. In this change
remove the wds enable check for dp vdev.

Change-Id: Ib61c53734254b768902704ccb0e2a5c9b53f35f1
CRs-Fixed: 2303905
2018-09-05 09:50:07 -07:00
Venkateswara Swamy Bandaru
d2d1ad9774 qcacmn: Add WMI support for RU26 intollerent setting
Add WMI support for RU26 intollerent setting.

Change-Id: Ib42574f9345b16552346bb5e9e991ae14c2c355b
CRs-Fixed: 2308038
2018-09-05 08:21:05 -07:00
Vivek
e4bd23b400 qcacmn: Add API to get max size of the list
The list APIs only provides the current size of the list.
In certain cases, to be able to decide if the queue is full
we can compare the current size with the max size of the list
and not attempt to add to the list at all.

Change-Id: Ic0844ae9fccd8bcc9603d31c41692680966e1753
CRs-Fixed:2304508
2018-09-05 06:47:19 -07:00
Venkateswara Swamy Bandaru
6ca4112f46 qcacmn: Remove SW WAR in rawmode for qca8074v2 target
Remove SW WAR in rawmode for qca8074v2 target. Added flag in
vdev structure which will be filled during vdev attach time.
Based on the flag war is applied.

Change-Id: Id91d6359b0a575b1f2b1222e56ac93a0e08a3c73
CRs-Fixed: 2296584
2018-09-05 06:47:16 -07:00
Jinwei Chen
a1f53043bb qcacmn: fix excessive logging when RX invalid peer data
To avoid excessive logging to console, control the log rate when
RX data peer is invalid in function dp_rx_err_deliver, use API
QDF_TRACE_ERROR_RL instead of original QDF_TRACE.

CRs-Fixed: 2300774
Change-Id: If1bf3fd93801e0ef37c7fdb1a32cda16aa429464
2018-09-04 21:15:23 -07:00
Alok Kumar
030747ff17 qcacmn: Add flag in skb->cb for HTT packet pool
Add a flag packet_buff_pool in skb->cb to indicate
HTT packet pool buffer to use in case of HTT Rx ring
low memory scenario.

Set this flag for the buffers allocated for HTT packet pool.

Change-Id: I8e7c823f09aa8b7f686ee52f98f0984e542ff9fa
CRs-Fixed: 2301887
2018-09-04 21:15:18 -07:00
Linux Build Service Account
c5517c51b6 Merge "qcacmn: Attach 2x2+1x1 action tables" 2018-09-04 16:03:51 -07:00
Gerrit - the friendly Code Review server
f0e9b117fd Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-04 15:48:58 -07:00
Liangwei Dong
10d8b3f294 qcacmn: Attach 2x2+1x1 action tables
Attach action tables with 2x2+1x1 DBS hw
modes, and select the table based on user
dbs preference INI setting.

Change-Id: If1fc79ce9a774fbf1ca08d09546679746ba1c4a3
CRs-Fixed: 2258919
2018-09-04 15:27:46 -07:00
Dustin Brown
79694bd003 qcacmn: Use pm_wakeup_ws_event() for Kernels 4.12+
__pm_wakeup_event() was superseded in Linux kernel 4.12 by
pm_wakup_ws_event(). Add conditional compilation to use the new API as
appropriate.

Change-Id: I8f6ceb6de24e1ffcc909f9417595d29d50968ebc
CRs-Fixed: 2306603
2018-09-04 13:46:01 -07:00
Karthik Kantamneni
d07cfa4b67 qcacmn: Add qdf debugfs API to detect buffer overflow
Add API to query qdf debugfs buffer overflow.
Add support to dump log in different block sizes.

Change-Id: I3d5b63ef2f9b0eeb4df20dbb93a76f10ed10f556
CRs-Fixed: 2307897
2018-09-04 13:45:58 -07:00
Debasis Das
e6feafc106 qcacmn: Use appropriate dev handle in OS wrappers
The device handles used in OS wrappers should be of
the desired type.

Change-Id: I6a72c578492662e7c3907c844d9307fc0dc98e53
CRs-Fixed: 2299595
2018-09-04 11:53:51 -07:00
Shreedhar Parande
ed2d24fc50 qcacmn: Fix for delay in preCAC timeout for non-weather radar channels
Maximum among primary CAC timeout and secondary timeout was used to
determime preCAC timeout. Due to this the non-weather radar channels
were also using 600sec as preCAC timeout.

To fix this, CAC on primary channel is done, then use secondary
preCAC timeout.

CRs-fixed: 2303360
Change-Id: If229957d8778a0a7794650e2908da8353fb9e090
2018-09-04 11:53:49 -07:00
Yeshwanth Sriram Guntuka
0ab053e1e1 qcacmn: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301926
2018-09-04 11:53:47 -07:00
Balamurugan Mahalingam
2b791597da qcacmn: Avoid including hal_api.h for non qca8074 targets
Removing the compilation flags throws compilation error for non
qca8074 targets

Change-Id: I8e83bf229c487cff7db8af41be387b89c2b7fed0
2018-09-04 11:53:45 -07:00
Nandha Kishore Easwaran
e6a27f7cf7 qcacmn: Add apis to set and get ba ageing timeout
Add hal apis to set and get ba ageing timeouts.

Change-Id: I6899f70597de1096d2b318cae1d20e7e1ccab9da
CRs-fixed: 2193128
2018-09-04 11:53:43 -07:00
Balamurugan Mahalingam
db12181289 qcacmn: Fix pointer dereference before null check
vdev getting dereferenced before null check. Fixed the same

Change-Id: If2b701fe8e59a67352aba4d37d4cecee1067c30b
2018-09-04 11:53:40 -07:00
Balamurugan Mahalingam
3715aa4dd6 qcacmn: [2/2] Support both qca8074v1 and qca8074v2 from hal
Pass hal_soc handle to hal function calls to invoke appropriate
target specific hal APIs

Change-Id: I1d646875508cab9b2ec2af55441cbece36a020cd
2018-09-04 11:53:38 -07:00
Balamurugan Mahalingam
5d80641550 qcacmn: [1/2] Support both qca8074v1 and qca8074v2 from hal
Some of the macro names defined in qca8074v1, are defined with
a slightly different name in qca8074v2, and few macros have the
same name in both headers but are defined with different values.
Fixed the same.

Change-Id: I5e948baf5326d1d8fdfa2bd7ee8aa072c710d17c
2018-09-04 11:53:36 -07:00
Linux Build Service Account
31c991610b Merge "qcacmn: Change default WORLD mode" 2018-09-03 16:02:53 -07:00
Linux Build Service Account
23a180a185 Merge "qcacmn: Add API qdf_nbuf_reset to reset netbuf" 2018-09-03 13:03:41 -07:00
Amar Singhal
76c44ef010 qcacmn: Change default WORLD mode
WORLD_60 is default WORLD mode. Remove channel 12 from WORLD mode. Also
fix TX power in WORLD mode for channels 12/13.

Change-Id: I030f7d07355031e9b791aec3a1edc6a3fb44651a
CRs-Fixed: 2302910
2018-09-03 12:59:59 -07:00
Amar Singhal
2193286e32 qcacmn: Correct alpha2 for Argentina
The correct alpha2 value for Argentina is AR and not AR1.
Fix it. Also add FCC5_FCCA regdomain to the regdomain table.

Change-Id: If06ca577b32602620d30ab3c5b9182ae7ab2c44a
CRs-Fixed: 2304785
2018-09-03 12:59:56 -07:00
Sravan Kumar Kairam
31ee37a1dc qcacmn: Implement lithium dp ops to change peer ref count
There are many instances where outside DP peer reference is
used. This may lead to potential invalid access as the peer
reference used outside DP can be deleted in peer unmap. So
implement DP ops to give peer handle by incrementing peer ref
count and also to decrement the peer ref count.

Change-Id: I54b131e4ce4fde888e5d0e69f81c6da8633e2787
CRs-Fixed: 2307529
2018-09-03 12:59:53 -07:00
Alok Kumar
d32e9abf63 qcacmn: Add API qdf_nbuf_reset to reset netbuf
This API makes the reuse of sk_buff possible, by resetting
it with the reserve and align arguments passed by the caller.

This brings back the skb to the original state as
returned by qdf_nbuf_alloc without allocating the skb again.

Change-Id: Idefcbd4be9fae5d140805d55207dec01bdc90237
CRs-Fixed: 2301899
2018-09-03 11:27:26 -07:00
Linux Build Service Account
40df48b767 Merge "qcacmn: Remove DP_INTR_POLL flag" 2018-09-03 10:03:24 -07:00
Linux Build Service Account
d4b28882ec Merge "qcacmn: Use multi-page alloc for tso descs" 2018-09-03 10:03:23 -07:00
Nandha Kishore Easwaran
e03102f60d qcacmn: Remove DP_INTR_POLL flag
Remove DP_INTR_POLL FLAG as polling is now handled runtime using
hif_is_polled_mode_enabled. This is needed as 8074 works on interrupts
whereas 6290 is still working on polling mode

Change-Id: I0e7fdc338d462735dc216c929b1b5a99dc984435
2018-09-03 05:11:19 -07:00