Commit graph

5,465 commits

Author SHA1 Message Date
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
Kiran Venkatappa
08bf93bbaf qcacmn: Use multi-page alloc for tso descs
Regular allocs usually result in allocation of size aligned to
slab boundary resulting in more memory than the requested. Use
multi-page allocation to avoid allocation of more memory than
requested.

Change-Id: Id6562f2fe419179e27206ff5b1d543090b931607
CRs-Fixed: 2294213
2018-09-03 05:11:16 -07:00
Liangwei Dong
df19d48862 qcacmn: Correct RSN IE length check
The minimal size of RSN ie data size is
2 (only contain version field).

The original 3 will cause driver identify
such AP beacon/probe rsp as invalid and
do not connect to it.

Change-Id: Idceaf936cbd0ca448f82d9594b35ca346c6513d4
CRs-Fixed: 2294094
2018-09-03 05:11:13 -07:00
Jeffin Mammen
689aa38d1e qcacmn: Read AC ID from the firmware event
Read AC ID from the firmware event(ATF) received.
The AC ID sent by the firmware is used to (un)block
tx traffic with ATF enabled

Change-Id: I4efedea26495b262f1c55fab3a1fc2824e1509f7
CRs-Fixed: 2306297
2018-09-03 05:11:11 -07:00
Linux Build Service Account
184a1f54c9 Merge "qcacmn: Indicate roc event to up layer for idle roc request" 2018-09-02 20:03:25 -07:00
Linux Build Service Account
d9e5ae5fc1 Merge "qcacmn: Initial support for 11ax MBSSID IE" 2018-09-02 18:03:56 -07:00
Gerrit - the friendly Code Review server
29497de49e Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-01 17:36:35 -07:00
Manjunathappa Prakash
d0fc0ea364 qcacmn: Add more debug_ids and reduce the dump log level
Add more debug IDs to narrow down further funciton who is holding peer
reference. Reduce the peer debug dump log level to avoid side effects of
console logging.

Change-Id: I9820c72bcde8a0c2b0e779cf322e1133ef8a43e6
CRs-Fixed: 2303069
2018-09-01 01:42:42 -07:00
Wu Gao
f3ea89016b qcacmn: Indicate roc event to up layer for idle roc request
It won't indicate roc event to up layer for idle roc request, which
casue p2p listen command pending.

Change-Id: I7a1c3c83411c63b790db1500a283d062dd87d63b
CRs-Fixed: 2298546
2018-09-01 01:42:40 -07:00
Manoj Ekbote
b8de937cc4 qcacmn: Initial support for 11ax MBSSID IE
1. Service ready ext includes a parameter for max
BSSID indicator.
2. Beacon template includes MBSSID IE offset.
3. Vdev create and up cmds include more parameters.

Change-Id: I71214eacdaa886725b7ea8f61db3a743ba6597e9
CRs-Fixed: 2306638
2018-08-31 19:09:55 -07:00
Amar Singhal
f318f04a83 qcacmn: Enable 11d in WORLD mode
In WORLD mode, there can be urgency to discover the current country since
WORLD mode restricts the channel and TX power availability. Therefore,
enhance 11d state machine to enable 11d in world mode. Use INI
configuration parameter enable_11d_in_world_mode to decide whether to
enable 11d in world mode automatically.

CRs-Fixed: 2289358
Change-Id: I8a4e1f6c74acb5ac1faec8f98840bf66c3d9a3f7
2018-08-31 11:17:28 -07:00
Pranita Solanke
afcd0f1289 qcacmn: Add Video/all TID Counters framework for both tx/rx
Add struct in cdp required to display VoW stats
for hawkeye and akronite

Change-Id: Ibd3a3b5e5933841cc28c9ce1b36d69615234720a
2018-08-31 04:01:24 -07:00
Anish Nataraj
376d9b19f3 qcacmn: Include sgi parameter for ratekps calculation
Currently gi value was not considered for ratekbps calculation
if sgi is enabled, include gi parameter for ratekbps calculation

Change-Id: Idd8b36375493c26f22f2f4f0c7ae922df37e65a1
2018-08-31 04:01:22 -07:00
Ruchi, Agrawal
2cbca3b050 qcacmn: msdu time lag update for tx completion
msdu time from hwenqueue to tx completion as part of
msdu stats.

Change-Id: I71ba6f1dec0505e4fa09b5fb123f21912b08b9c5
CRs-Fixed: 2286774
2018-08-31 00:51:20 -07:00
Ruchi, Agrawal
234753cb0f qcacmn: add cal client timer change for peer stats
Cal client timer change for updating peer stats
per sec.

Change-Id: Ie6540fcf0e4699bff9156d87c17a5c73664a6230
CRs-Fixed: 2286826
2018-08-31 00:51:17 -07:00