Commit Graph

19228 Commits

Author SHA1 Message Date
Bapiraju Alla
6cddfae45a qcacld-3.0: Wait for sme_soc_set_dual_mac_config to get complete
SAP turn on is getting stuck for longer time due to vdev is getting
deleted logically before response for sme_soc_set_dual_mac_config comes.

To resolve this, add wait in wlan_hdd_update_dbs_scan_and_fw_mode_config
to confirm sme_soc_set_dual_mac_config completion.

Change-Id: I9408713fcf828d24688ecc45290d8c90a8d54c22
CRs-Fixed: 2663509
2020-04-16 21:57:48 -07:00
nshrivas
6132f72217 Release 5.2.0.181S
Release 5.2.0.181S

Change-Id: I01104783d2f7d64d5bca1d8e37669fdbae5579b2
CRs-Fixed: 774533
2020-04-16 19:09:06 -07:00
Rachit Kankane
a056dcf1e3 qcacld-3.0: Copy peer and radio stats correctly
Copy WMI_LINK_STATS_ALL_PEER stats and number of channels in
radio stats properly to the buffer.

Change-Id: I3219e3c46e93d43f2684ab51a2c5d98a63a3f88e
CRs-Fixed: 2649207
2020-04-16 19:09:05 -07:00
Sourav Mohapatra
4fb6737376 qcacld-3.0: Properly handle interface down in case of SSR
Presently in case there is an interface down during SSR, the request is
rejected outright. This causes the driver and the userspace to go out of
sync on the status of that particular interface.

The root cause of this issue is that while SSR is ongoing if interface
down comes, the DSC control via __dsc_vdev_can_trans rejects the interface
down citing QDF_STATUS_E_INVAL. This prevents the request to be queued and
processed later.

To fix this remove the check for driver recovering from the DSC control.

Change-Id: I9598c4606984f924d63e8c459ded0520d0824d08
CRs-Fixed: 2658597
2020-04-16 19:08:49 -07:00
nshrivas
e719329b58 Release 5.2.0.181R
Release 5.2.0.181R

Change-Id: I21757e866ce220f5fffc51160943e008c1a1020e
CRs-Fixed: 774533
2020-04-16 16:19:15 -07:00
Ashish Kumar Dhanotiya
e98592f479 qcacld-3.0: Add serialization command to get disconnect stats
Currently for SAP case on the disconnection with the
client, host driver sends get stats command for the
disconnected peer to the FW and proceeds with the peer
deletion. There is a race condition where if the peer
gets deleted in the object manager before FW sends the
requested stats in that case host driver drops the
response from the FW.

To resolve above issue send the get stats request command
in serialization before peer delete command gets serialized
which will ensure that get stats response is processed
before peer delete in the object manager.

Change-Id: I1aa4be329a06e261222c0f9dccc36e08bd6b137a
CRs-Fixed:  2656842
2020-04-16 16:19:15 -07:00
nshrivas
3bc889d5b1 Release 5.2.0.181Q
Release 5.2.0.181Q

Change-Id: Ia4e3e5177c5c9c56bb49a01c155d3add0216322c
CRs-Fixed: 774533
2020-04-16 08:17:04 -07:00
Liangwei Dong
eb4d039e1f qcacld-3.0: Reconnect to same BSS once again ifdd assoc timeout
Add INI - gActionOUIReconnAssocTimeout to configure driver
to do:
1. Driver will not send deauth to the AP after association timeout.
2. Reconnect to same BSS again if the last association failure
is association response timeout.
Default="00E04C 00 01"

The change fixes IOT issue with certain AP which doesn't
response first association request frame sometime. But the AP
would response second association request.

Change-Id: I9f7b8d14aaaaa97f08856c8b62e49b145db3ac91
CRs-Fixed: 2653877
2020-04-16 08:17:03 -07:00
nshrivas
83b3d290ea Release 5.2.0.181P
Release 5.2.0.181P

Change-Id: Icf4c2cd4ed73509216a8e69115d9a3ee15260028
CRs-Fixed: 774533
2020-04-16 03:10:40 -07:00
Sravan Goud
146c50d37f qcacld-3.0: Flush pending ipa pending events
At stop adapter flush vdev's pending wlan ipa events
and also increase the ipa resources load/unload timeout
to 500ms as current timeout of 100ms which is less taking
in to account of suspending IPA pipes, WLAN FW pipes and
also waiting separately for the RX and TX suspend ack from
the FW.

Change-Id: Ia622ab84f15089826c23502f365b11e742277ca8
CRs-Fixed: 2660807
2020-04-16 03:10:40 -07:00
nshrivas
ca3b3b03fe Release 5.2.0.181O
Release 5.2.0.181O

Change-Id: Id6705c3aace5c5d7d738594036d0a6a53ed93a15
CRs-Fixed: 774533
2020-04-16 00:12:54 -07:00
Manjunathappa Prakash
2c10ce10dc qcacld-3.0: Add WAR to confirm WBM IDLE ring LSB write
On Lahaina platform it is seen that WBM IDLE ring init is failing,
Write to WBM_IDLE link ring LSB write is failing.
Add temporary WAR to do back to back write of WBM IDLE link ring
LSB address config register.

Change-Id: I8d6766e33a3912d197e543f0e7e252513e0253ab
CRs-Fixed: 2662295
2020-04-16 00:12:54 -07:00
nshrivas
2e286916af Release 5.2.0.181N
Release 5.2.0.181N

Change-Id: I03a55ac99e7bc20d00fd758eaa689c6c0ec7faa4
CRs-Fixed: 774533
2020-04-15 21:26:18 -07:00
sheenam monga
9b1b00019e qcacld-3.0: Update num_iftype_akm_suites wiphy param
Currently, wiphy->num_iftype_akm_suites is updated with
QDF_ARRAY_SIZE(wlan_hdd_akm_suites)/size of structure but
macro QDF_ARRAY_SIZE itself is providing number of elements
of array with (sizeof(_arr) / sizeof((_arr)[0])).

Fix is to use QDF_ARRAY_SIZE(wlan_hdd_akm_suites) instead
of using QDF_ARRAY_SIZE(wlan_hdd_akm_suites)/
sizeof(struct wiphy_iftype_akm_suites).

Change-Id: Ia4abcc84a7d568e76a71df40fd9f3688b348bd70
CRs-Fixed: 2664434
2020-04-15 21:26:18 -07:00
nshrivas
7977909a18 Release 5.2.0.181M
Release 5.2.0.181M

Change-Id: Ia971b23bf69e29ad1c5d7f6f592cba61f15668d9
CRs-Fixed: 774533
2020-04-15 19:00:50 -07:00
Dundi Raviteja
2871bc677b qcacld-3.0: Drop offload packets in PE component
Offload packets should be processed only in
packet capture mode, so drop them in PE component
if packet capture mode is set.

Change-Id: I45c373b02bd4ad70c9a02528239f0ddf9c22343e
CRs-Fixed: 2664553
2020-04-15 19:00:49 -07:00
nshrivas
3e9ad37068 Release 5.2.0.181L
Release 5.2.0.181L

Change-Id: Idd46a1562061596ab2c845486fce1d5f83a2206a
CRs-Fixed: 774533
2020-04-15 16:17:36 -07:00
Bapiraju Alla
d83451abb3 qcacld-3.0: Flush vdev active commands during vdev delete
Currently, active commands are not being flushed during vdev delete.
This will cause issue when vdev is logically being deleted before
response comes for this active comand.

To resolve this, flush vdev active commands also along with pending
commands.

Change-Id: Ie31936132a389685ff4ff55b43ccbb4102e65830
CRs-Fixed: 2664624
2020-04-15 16:17:35 -07:00
nshrivas
7b9509f5d9 Release 5.2.0.181K
Release 5.2.0.181K

Change-Id: I8117870379d91db67d909c2cdda7cfdf885f419d
CRs-Fixed: 774533
2020-04-15 03:12:18 -07:00
sheenam monga
fb4299929b qcacld-3.0: Avoid peer access after peer deletion
Currently, peer can be accessed after deletion in hdd because
cdp_clear_peer tries to remove peer from physical device
after deletion of peer in datapath.

Fix is to remove cdp_clear_peer from hdd as it is handled by
cdp_peer_delete which invokes dp_peer_delete_wifi3.
dp_peer_delete_wifi3 further invokes dp_peer_rx_bufq_resources_deinit
and dp_peer_rx_bufq_resources_deinit does job of cdp_clear_peer.

Change-Id: I9013b6f0ba860b9d9309e734806e592cf13934c6
CRs-Fixed: 2662867
2020-04-15 03:12:17 -07:00
nshrivas
451f7bf96c Release 5.2.0.181J
Release 5.2.0.181J

Change-Id: Ia452589b6c3fdc82cd875079cd159b70e4a55f8d
CRs-Fixed: 774533
2020-04-15 00:29:57 -07:00
Min Liu
b7b5eecdcb qcacld-3.0: Add more STA statistics
Add more STA statistics from wmi_peer_stats_info.

Change-Id: I92e9d0e3819b715cb525979838747aa82d72527a
CRs-fixed: 2592181
2020-04-15 00:29:57 -07:00
nshrivas
88ba391cf1 Release 5.2.0.181I
Release 5.2.0.181I

Change-Id: Icb945edfc1056e4886d0d7a8aadf9a36e599b3d1
CRs-Fixed: 774533
2020-04-14 16:37:41 -07:00
gaurank kathpalia
3aae7a3cc0 qcacld-3.0: Ignore CAC if STA already present
Currently the driver sets the CAC required for
SAP if it changes it channel to DFS, it
issues a broadcast deauth to all clients,
which leads to unwanted disconnection, which
can be avoided if any STA if already connected
to an AP on that channel.
This is because there is already active TX going
on that channel, so the SAP need not wait for
CAC time to sense the medium.

Fix is to check whether any STA vdev operating
frequency matches with the target frequency of
the SAP, and if it is true, then do not set the
CAC required to true in SAP's vdev.

Change-Id: I09dbecc1a4625cb51e6095f7579479413e525a74
CRs-Fixed: 2643790
2020-04-14 16:37:41 -07:00
Sourav Mohapatra
a1bbc2660e qcacld-3.0: Use ref count to sync unload and /dev/wlan access
As a part of driver load, a device file /dev/wlan is created to provide
control to the userspace to turn ON and OFF the wifi. This file also acts
as a holding-the-context entity for the userspace till the host driver
and firmware are properly up and ready as a part of driver probe.

In a scenario where driver probe fails, there can be an occurrence of a
race condition wherein the driver gets unloaded in the probe error path
before the userspace releases the control of the /dev/wlan file.
This leads to a NULL pointer access as the file memory gets deleted as
part of driver unload.

To achieve a serialization between the userspace context, where file is
being accessed, and the driver context, where unload is being done,
implement a simple reference counting through which the driver unload
waits till userspace cleanly releases access to the file.

Change-Id: I3dc214397c53b76111da33dc0ae6db296fc98cb4
CRs-Fixed: 2660321
2020-04-14 16:37:22 -07:00
nshrivas
367be559ed Release 5.2.0.181H
Release 5.2.0.181H

Change-Id: Iddbd6d6c80a74591eba92fad05d92bf98b04667b
CRs-Fixed: 774533
2020-04-14 11:51:29 -07:00
Abhishek Singh
18fe7a980d qcacld-3.0: Use igtk key type from crypto to process BIP frames
Use igtk key from crypto to process BIP frames.

Change-Id: I29b41205a5b91f9e17a98c2bcebe0455178318a1
CRs-Fixed: 2662365
2020-04-14 11:51:28 -07:00
nshrivas
a5b448fd4e Release 5.2.0.181G
Release 5.2.0.181G

Change-Id: I8278d8b83a49f3fabd389294512bf830796d16f1
CRs-Fixed: 774533
2020-04-14 09:00:30 -07:00
Li Feng
045aea075c qcacld-3.0: Release intf addr if failed to open adapter
Release intf addr which is allocated by wlan_hdd_get_intf_addr()
to clean up dynamic mac list if failed to open adapter.

Change-Id: I3649719496b4f69ce92801d87c05f6af438e5479
CRs-Fixed: 2662240
2020-04-14 09:00:30 -07:00
Rajeev Kumar
1a9632c7a0 qcacld-3.0: Clean up remaining references of WLAN_POWER_DEBUGFS
Power stats is moved from debugfs to sysfs as part of commit
I10df003fe8f79d35d0758b56d971f4973d27750b and hence remove
the remaining references of WLAN_POWER_DEBUGFS.

Change-Id: Iba29387ab93740595560e068e4bd4ede8efafbc9
CRs-Fixed: 2661078
2020-04-14 09:00:15 -07:00
nshrivas
cec479bef5 Release 5.2.0.181F
Release 5.2.0.181F

Change-Id: I34ed56d3bb550f37f03f164adec06d49bf4a5cad
CRs-Fixed: 774533
2020-04-13 21:13:41 -07:00
Wu Gao
4933c905f5 qcacld-3.0: Enable CFR in Kbuild
This is part of adding channel frequency response. Enable CFR and
streamfs in Kbuild for QCA6490 only.

Change-Id: I7ef0eff10cfbe09e7fb3e14cefede0a352af5d9a
CRs-Fixed: 2637187
2020-04-13 21:13:41 -07:00
Wu Gao
9f4ca5b05e qcacld-3.0: Indicated CFR Stopped to userspace
After stop CFR capture, indicate CFR stopped event to userspace.

Change-Id: I886d519332a87c9ec1b59c592eaf9e6ddc10f423
CRs-Fixed: 2659696
2020-04-13 21:13:18 -07:00
Liangwei Dong
a03ccd3ba9 qcacld-3.0: Rate limit for addba frame dump
Use rate limit api for addba request frame dump to avoid
excessive log in kmsg and driver log.

Change-Id: Iee48cb5ca08aa635ebfc8ceb68ac2014d2f0b777
CRs-Fixed: 2660103
2020-04-13 21:13:03 -07:00
nshrivas
35c24f8e81 Release 5.2.0.181E
Release 5.2.0.181E

Change-Id: Idbb49a91e412d81e0b6bd22ce5ae7a7e3bd8cba0
CRs-Fixed: 774533
2020-04-11 20:42:11 -07:00
Li Feng
b93e6aea80 qcacld-3.0: Release intf addr if failed to open adapter
Release intf addr which is allocated by wlan_hdd_get_intf_addr()
if failed to open adapter when try to add new virtual interface.

Change-Id: Ifa0f795ca06b15da00f8809a764734e8d0fe288d
CRs-Fixed: 2653590
2020-04-11 20:42:11 -07:00
nshrivas
dd149a55f4 Release 5.2.0.181D
Release 5.2.0.181D

Change-Id: I079540d5bae08be418c42519ee1a35e438e8c64a
CRs-Fixed: 774533
2020-04-11 18:25:08 -07:00
Ananya Gupta
e6bb014360 qcacld-3.0: Add null check to osdev object
Add null check to osdev to avoid invalid access.

Change-Id: If34bc94cd23e3b4f1149a57b43bcc136575ec06c
CRs-Fixed: 2658532
2020-04-11 18:25:08 -07:00
nshrivas
c6e19bbe85 Release 5.2.0.181C
Release 5.2.0.181C

Change-Id: Id6cbd4e5a5859863eccc1e74c059a62b89299d1e
CRs-Fixed: 774533
2020-04-11 15:57:53 -07:00
Ashish Kumar Dhanotiya
210ccabe9e qcacld-3.0: Update dot11 mode correctly
In case of sap big data logging, it is assumed that legacy
dot11 mode is always supported, if the connection is done
in 11ax and if station does not shares the ht and vht info
in that case legacy dot11 mode should not be updated as it
is possible that sta is only 11ax supported.

Change-Id: I8324b3e5a2491d4a1722c03e5e86fa1bedbf5062
CRs-Fixed: 2656843
2020-04-11 15:57:53 -07:00
Abhishek Singh
90f388b9de qcacld-3.0: Move PN replay detect logic in objmgr peer
Control path use the data path variables to detect PN replay
and also modify the same.

Thus move the PN replay detect logic in objmgr peer in control path.

Change-Id: I8d1cd4b86eac3f6a7343c4616e398579bc4932ae
CRs-Fixed: 2658077
2020-04-11 15:57:38 -07:00
nshrivas
ed5d08c7f3 Release 5.2.0.181B
Release 5.2.0.181B

Change-Id: I04fd5c6753b6edf2a65bc15045c7bb7d1c324d28
CRs-Fixed: 774533
2020-04-11 12:39:45 -07:00
Abhishek Singh
1be145fcbd qcacld-3.0: Fix igtk index while getting the igt key
While sending tx frame WMA_IGTK_KEY_INDEX_4 is used to get the
igtk key, but the WMA_IGTK_KEY_INDEX_5 is also valid igtk key index
and thus if igtk index passed is WMA_IGTK_KEY_INDEX_5 the get igtk
always fails.

So during set key store the igtk key index and use the same to get
igtk key.

Change-Id: I5c3baf1231472e7d9aeb2f762285befc9100c858
CRs-Fixed: 2661204
2020-04-11 12:39:44 -07:00
nshrivas
149eefac85 Release 5.2.0.181A
Release 5.2.0.181A

Change-Id: If0dd6991f8b210b1bdd06bfdbbc05063a7e8060a
CRs-Fixed: 774533
2020-04-11 10:04:20 -07:00
Pragaspathi Thilagaraj
7e8cad2ad7 qcacld-3.0: Set the key installed flag to sta_ds after roam
After roaming, new pe session is created and based on the authentication
status received in the roam synch indication, the is_key_installed flag
is set. But this flag is not set to sta ds after roaming.
This causes deauth frame to roamed AP sent out unencrypted after
roam.

Set the key installed flag to sta ds if the auth status in
roam synch indication is authenticated.
If the status is connected, this flag will be set in the
set key response path.

Change-Id: I9784fc4e44bb859b8ad075b164ed9bddc4c4fc36
CRs-Fixed: 2635262
2020-04-11 10:04:19 -07:00
nshrivas
45c353be7b Release 5.2.0.181
Release 5.2.0.181

Change-Id: Ie3ff8ae9228185edc4eb392a8f9ab5b7a11eb20b
CRs-Fixed: 774533
2020-04-11 07:34:00 -07:00
Utkarsh Bhatnagar
00b9851ebb qcacld-3.0: Fix Mem leak in wma_tx_packet
Free packet memory in error cases in wma_tx_packet.

Change-Id: I4409b69fecdf28ae6e94af390e5de61208577383
CRs-Fixed: 2658624
2020-04-11 07:33:59 -07:00
nshrivas
f1f419593b Release 5.2.0.180Z
Release 5.2.0.180Z

Change-Id: I5c597e02556272c5586714bd42a4871dd552c0b0
CRs-Fixed: 774533
2020-04-10 16:36:40 -07:00
Abhishek Ambure
c04140f818 qcacld-3.0: Update proper NSS in OMN ie of assoc request
Host adds OMN ie in the association request only if the AP to
which DUT associates advertises OMN IE and DUT supports VHT.

Update proper NSS in OMN ie of assoc request to overcome low
throughput issues in VHT op mode.

Change-Id: If00042b5f61016efb7839b87d7e8a46513f6d520
CRs-Fixed: 2660821
2020-04-10 16:36:40 -07:00
Srinivas Dasari
2fb2579b4a qcacld-3.0: Check for objmgr peer entry in wma_remove_peer
Currently, NDP peer entry is cached in dph table when an NDP
indication is received. Existence of this entry in the table
is used to know if the NDP session is still valid and peer cleanup
happens based on that. It removes the entry from dph table once the
cleanup is done in WMA_DELETE_STA_RSP handler. Below are the two
cases to initiate cleanup on an NDP,
1. When NDP_END indication is received from firmware
2. When NDP confirm is received with a failure from firmware

There can be a scenario where these two events happen back to
back for the same peer. An event might attempt to remove peer with
wma_remove_peer while the other event has already removed and just
before deleting the entry from dph table.
So check for the existence of peer entry in objmgr in
wma_remove_peer before proceeding for the peer removal. Try to
remove peer only if it's present.

Change-Id: I473a4608939f1ad919d93e065b7deaa9ff2da5a7
CRs-Fixed: 2653662
2020-04-10 16:36:24 -07:00