Commit Graph

26050 Commits

Author SHA1 Message Date
Jyoti Kumari
f3c859ae04 qcacld-3.0: Validate peer before sending to serialization queue
Consider a below case
1. SAP received south bound disconnect command
2. At same time, SAP CSA to DFS channel happened
   and thus peers are deleted
3. Later same peer got re-added and south bound
   disconnect command becomes active for same peer

When SAP receives south bound disconnect req, then driver will
post WLAN_SER_CMD_WM_STATUS_CHANGE(eWNI_SME_DEAUTH_IND/
eWNI_SME_DISASSOC_IND) command to schedular thread. After posting
to schedular thread, the command will wait in SME message queue.
During this time, SAP CSA to DFS channel happened. Driver will
post CSA to schedular thread and it will wait in PE message
queue.
Since PE message queue has higher priority than SME message queue
CSA will process first. As part of CSA, driver will delete all
peer including sta hash entry.
After CSA, south bound disconnect command got queue to
serialization and same peer got re-added again.
When south bound disconnect command becomes active, the states
will not be proper (as for old peer, disassocTrigger will be
eLIM_PEER_ENTITY_DISASSOC/eLIM_PEER_ENTITY_DEAUTH and for new
peer disassocTrigger will be eLIM_HOST_DISASSOC/eLIM_HOST_DEAUTH)
and thus response to CSR(old peer: eWNI_SME_DISCONNECT_DONE_IND,
new peer: eWNI_SME_DISASSOC_RSP) will not be proper.
Due to this south bound disconnect command will not remove from
active queue which leads to active command timeout.

As part of fix, validate peer before sending to serialization
to avoid queueing the cmd if peer is already deleted.

Change-Id: I099b4b8e85ea8cfd24bcaec0add3c6f1fcaf8b11
CRs-Fixed: 3210877
2022-06-14 09:31:22 -07:00
Madan Koyyalamudi
7ac35e2f2e Release 5.2.1.25
Release 5.2.1.25

Change-Id: I11b627b70d427b0884347f170bcce8c77ef8a15e
CRs-Fixed: 774533
2022-06-14 01:36:57 -07:00
Mohit Khanna
37c6a523a0 qcacld-3.0: Enable notify-frame feature in FW
Enable bits in WMI_INIT command to let the FW know about host's
capability to support notify frame feature. If the feature is enabled,
host can mark certain TX frames as "notify frames" for hardware and they
need not be sent to FW. FW depends on this capability exchange to decide
whether to install HW rules for frames to be sent to HW.

Change-Id: I53b729acc938bc5877de5a872632dd9a2d58845a
CRs-Fixed: 3210693
2022-06-14 01:36:57 -07:00
Madan Koyyalamudi
68553f7928 Release 5.2.1.24Z
Release 5.2.1.24Z

Change-Id: I4af1e5ab115221bd90147342aaeed45d060978fd
CRs-Fixed: 774533
2022-06-13 17:49:42 -07:00
Sheenam Monga
8076b56e37 qcacld-3.0: Add handling for four port connection
Add support to handle 2 sap and 1 ml sta link.
Currently, get pcl fails for fourth connection when
2 sap link and 1 ml sta link is present due to which
fourth connection is not allowed as pcl len is becoming 0.

Fix is to add handling for fourth connection when existing
concurrency is P2P/SAP + P2P+SAP + 1 ML STA link.

Change-Id: Ief969018da14096f758fea4bd06d17e7e8d039b7
CRs-Fixed: 3219328
2022-06-13 17:49:42 -07:00
Madan Koyyalamudi
c560d12988 Release 5.2.1.24Y
Release 5.2.1.24Y

Change-Id: Ibf240f68423042111cadd68efe1e83bb74c68571
CRs-Fixed: 774533
2022-06-13 15:06:26 -07:00
Rahul Gusain
bfc2c02560 qcacld-3.0: Remove the dependency on NDI name
Currently in driver, NAN Data Interface can be created with
only name "aware_data" which creates dependency on interface name.

To remove the dependency, the interface is created now by name
provided by Wifi-HAL.

For this, interface is created in STA mode with name provided by
WiFi-HAl. While processing  vendor cmd QCA_NL80211_VENDOR_SUBCMD_NDP,
given ifname is searched in adapter list and mode is changed to NDI.

CRs-Fixed: 3196179
Change-Id: I62dd512f8a7de4c69a53babf3112942d348bf3b6
2022-06-13 15:06:26 -07:00
Madan Koyyalamudi
ffcde23331 Release 5.2.1.24X
Release 5.2.1.24X

Change-Id: Idec5ffb753c0b90895d8ebdc1c37536e2fabb917
CRs-Fixed: 774533
2022-06-13 10:51:24 -07:00
Deeksha Gupta
e1bdcfc022 qcacld-3.0: Update RNR IE as per D1.5 specs
Update dot11f RNR IE definitions as per 11be draft 1.5
specification.

Change-Id: I66aca72d021d2f13e51d92f226784b5f8d58f68d
CRs-Fixed: 3210817
2022-06-13 10:51:23 -07:00
Paul Zhang
3904e7a125 qcacld-3.0: Modify mlo and remove sta profile from dot11f.frms
Modify mlo and remove sta profile from dot11f.frms.

Change-Id: Ic91b44950149c3fa821c29acc07a92341ebc8054
CRs-Fixed: 3209300
2022-06-13 10:51:17 -07:00
Deeksha Gupta
00810c3230 qcacld-3.0: Rename BSS Parameters Change Count (sub)field size
As per ML D1.5 IE, rename BSS Parameters Change Count (sub)field size
to make it generic.

Change-Id: I607e0435e640989fc8c532e9ee8213e16a094709
CRs-Fixed: 3209853
2022-06-13 10:51:12 -07:00
Paul Zhang
559cc2f651 qcacld-3.0: Assemble ML IE to support fragmentation
The max IE length in the frame is 255, and the payload of Multi-Link
element and Per-STA profile subelement are becoming more than 255.
Add logic to fragment the ML IE and Per-STA profile subelement if their
length more than 255 when assembling the tx frames.

Change-Id: Iff2766f63edc7bc786169b2450887c708a3a4b76
CRs-Fixed: 3209293
2022-06-13 10:51:06 -07:00
Madan Koyyalamudi
c9b9ef2e36 Release 5.2.1.24W
Release 5.2.1.24W

Change-Id: Ic79e98e5f71c578d3f731d4ee31c6cf78cc38412
CRs-Fixed: 774533
2022-06-12 22:45:47 -07:00
Bing Sun
d602cb94cf qcacld-3.0: Generate puncture bitmap for STA based on bandwidth
Puncture bitmap is binding with channel bandwidth. If the STA can't
support bandwidth as AP broadcasts, STA need extract puncture bitmap
based on the negotiated bandwidth.

Generate puncture bitmap for STA based on negotiated bandwidth.

Change-Id: Iad303b220fc2e2c5a1b8c125f06300e414bf1fbd
CRs-Fixed: 3207676
2022-06-12 22:45:47 -07:00
Madan Koyyalamudi
6b856c0419 Release 5.2.1.24V
Release 5.2.1.24V

Change-Id: I6af8bb218faed9ccf8b61d82f7abfb7441202b90
CRs-Fixed: 774533
2022-06-11 03:30:49 -07:00
sheenam monga
e1c5d1fa7f qcacld-3.0: Dump four port concurrency
Add support to dump concurrency for four
vdevs with mode, vdev id , hw mode and
mac details on which vdevs are in MCC/SCC.

Change-Id: If4c1622770b0e787f5f3de54a3ca92b35a0e1873
CRs-Fixed: 3218170
2022-06-11 03:30:49 -07:00
Jia Ding
ee2099cd39 qcacld-3.0: Enable uplink delay feature for Vordonisi
Enable uplink delay feature for Vordonisi platform.

Change-Id: Ie38f7f1ee25bd880bfd628c0a0e11eeb3732dedf
CRs-Fixed: 3218090
2022-06-11 03:30:44 -07:00
Liangwei Dong
8bcb061a89 qcacld-3.0: Fix 3 home channel issue for PCL PM_SBS_CH_2G
New PCL PCL PM_SBS_CH_2G,PM_SCC_ON_5G_LOW_5G_LOW,
PM_SCC_ON_5G_HIGH_5G_HIGH do not allow 3 home channel
scenario. Remove it from API
policy_mgr_is_3rd_conn_on_same_band_allowed.
Add PCL string print support for new type:
PM_SCC_ON_5G_LOW_5G_LOW, PM_SCC_ON_5G_HIGH_5G_HIGH.

Change-Id: Ie6dbb042f5ecb04cb999a7949ced8e7c7ab4ad5a
CRs-Fixed: 3215568
2022-06-11 03:30:39 -07:00
Madan Koyyalamudi
2f9c8c6a28 Release 5.2.1.24U
Release 5.2.1.24U

Change-Id: If89570d8420330beade545c1534093f58006e17f
CRs-Fixed: 774533
2022-06-10 21:50:27 -07:00
Paul Zhang
c51cf56c15 qcacld-3.0: Get chain rssi stats per request vdev_id
Currently, the driver gets the last vdev's chain rssi stats
if fw reports more than one vdev's chain rssi stats, it causes
the last one stats overwrites the former one and the last stats
may not be expected for the request vdev.

To resolve this issue, compare the vdev id before getting the
stats.

Change-Id: Ib789d148a010460108ed73b92ef603cf78c1493a
CRs-Fixed: 3212917
2022-06-10 21:50:26 -07:00
Aravind Kishore Sukla
7ff8ef2746 qcacld-3.0: Send correct reason code for auth timeout
In SAE retry timeout case internal status codes are populated
over frame for auth TX failure. Internal status code is sent,
instead of correct reason code.
Send reason code as REASON_TIMEDOUT for auth timeout case.

Change-Id: I0daec5b6db47bb7a50994f088cda6673d0e407f1
CRs-Fixed: 3215534
2022-06-10 21:50:21 -07:00
Arun Kumar Khandavalli
af27c8d02e qcacld-3.0: cleanup scan queue in case of SSR
When the SSR and interface down happen in parallel,
the driver rejects the interface down since the
recovery is in progress. Kernel ignores the -EAGAIN
request from the driver and as part of NET_DOWN notification
in cfg80211_netdown_notifer the kernel invokes the
___cfg80211_scan_done to free the request but doesn't not send
scan_result indication, since it expects the scan_done work to
get scheduled and then broadcast the request to upperlayer.

Change-Id: I48700a1a7b4c4cc76d3c6736825d29d0f708886f
CRs-Fixed: 3203454
2022-06-10 21:50:15 -07:00
Madan Koyyalamudi
a95ea34cd0 Release 5.2.1.24T
Release 5.2.1.24T

Change-Id: I293a2bcef3f165fe73fe1e36ac2e37f6866fa4e2
CRs-Fixed: 774533
2022-06-10 18:58:16 -07:00
Vinod Kumar Pirla
afc4b56d42 qcacld-3.0: Add delayed wakeup in WOW reason type
The WOW reason types WOW_REASON_DELAYED_WAKEUP_HOST_CFG_TIMER_ELAPSED
and WOW_REASON_DELAYED_WAKEUP_DATA_STORE_LIST_FULL are currently
not identified by the driver and treated as unknown wakeup reasons.
Add these two reason codes in the WOW wakeup event.

Change-Id: Ia8966391588851b60af9ec27e47a2022423eb044
CRs-Fixed: 3214597
2022-06-10 18:58:16 -07:00
Jyoti Kumari
72c3404391 qcacld-3.0: Handle TWT renegotiation failure case
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful

Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.

As part of fix, break the context in renegotiation and
send the teardown in the new worker context.

Change-Id: I13c8d44d6582e39d1cc2c2aa10a500fffbf150b1
CRs-Fixed: 3204750
2022-06-10 18:58:11 -07:00
Balaji Pothunoori
e5375669f2 qcacld-3.0: Enable roam offload in wiphy based on roam ini set
Currently WIPHY_FLAG_SUPPORTS_FW_ROAM is updated in wiphy
based on FastRoamEnabled/EseEnabled/FastTransitionEnabled.

This change is to update WIPHY_FLAG_SUPPORTS_FW_ROAM flag in
wiphy based on lfr3 ini set.

Change-Id: I3eb9d4fe226849f28fd173fc5e891257f8e83ad9
CRs-Fixed: 3213817
2022-06-10 18:58:06 -07:00
Madan Koyyalamudi
a3492b22c0 Release 5.2.1.24S
Release 5.2.1.24S

Change-Id: Ic545b04206c665eecf22a9d7bce835b9db64c66d
CRs-Fixed: 774533
2022-06-10 13:19:12 -07:00
Amruta Kulkarni
f8c534ee3b qcacld-3.0: Add link id information in ML probe req
When sending ML probe request in the per sta profile info
include link id field and set complete profile bit.

Change-Id: I71dbb81822a7e7a107247cef4fd07f4898117930
CRs-Fixed: 3212098
2022-06-10 13:19:12 -07:00
Dundi Raviteja
433730002e qcacld-3.0: Enable precac component
Enable pre cac component.

Change-Id: If013d802d8e921acd227544efb13a7929130814a
CRs-Fixed: 3216744
2022-06-10 13:19:07 -07:00
Gururaj Pandurangi
6e816ae090 qcacld-3.0: Add eMLSR HW mode support for ML STA
Add eMLSR HW mode support for ML STA. eMLSR mode
(Enhanced Multi-link Single-Radio) is a new HW mode within 802.11be
op mode. This change consists of the following
1) Handle the new eMLSR HW mode. FW sends this capability to host via
extended service ready event.
2) If FW supports this mode, then update the eMLSR capability sub-fields
in the Basic-variant MLO IE under the assoc request frame.
3) Provide peer info like eMLSR capability, transition timeout, and link
IDs to FW through WMI_PEER_ASSOC_CMDID.

Change-Id: Idc00f5f780b5617e513f307952b58277669dee85
CRs-Fixed: 3184708
2022-06-10 13:19:00 -07:00
Sheenam Monga
70c62c1728 qcacld-3.0: Restore deleted connection with total con count <= max count
Currently, deleted connections are not restored if current connection count
is geater than or equal to max no of allowed connection - no of deleted
connection which may cause issue when there are 4 connections and 2 ML sta
link got deleted temporarily for getting pcl list. As max no of connection
allowed are 4, deleted sta links should be restored. In check to restore
the deleted link comparison is done with < max no connection, so deleted
connections are not restored.

Fix is to add a check that current connection count + deleted connection
count should be less than or equal to MAX_NUMBER_OF_CONC_CONNECTIONS.

Change-Id: Ia21235ffb4d5ecc3500001f215bab5a3c48de90a
CRs-Fixed: 3216952
2022-06-10 13:18:55 -07:00
Madan Koyyalamudi
b24bfdaab9 Release 5.2.1.24R
Release 5.2.1.24R

Change-Id: I0d71405fcd0319f61fbbf88f1d683c3f3b8bcf1a
CRs-Fixed: 774533
2022-06-09 19:37:10 -07:00
Yu Ouyang
6b2b1cfb27 Revert "qcacld-3.0: Add the Full Power Down feature support"
This reverts commit I293647175c151da0fd6628345f98ea65c83b1bb3.

New solution idle shutdown in suspend prepare is better.

Change-Id: I69a0e7401c811e4a9656fcc8e3dd069f4317cc35
CRs-Fixed: 3213236
2022-06-09 19:37:09 -07:00
Yu Ouyang
3fbdeb8f84 Revert "qcacld-3.0: Idle shutdown in suspend"
This reverts commit I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f.

New solution idle shutdown in suspend prepare is better.

Change-Id: I76b1ef8e6f945bbcba3955ff625484ebee727670
CRs-Fixed: 3213236
2022-06-09 19:37:03 -07:00
Yu Ouyang
6e1249d0ea Revert "qcacld-3.0: Avoid calling idle shutdown many times"
This reverts commit Ic701dce917288db09511f6ffc540cf8cf3eca5db.

New solution idle shutdown in suspend prepare is better.

Change-Id: I10aee75b2fee7026dfbb7173b66cddac24e313d7
CRs-Fixed: 3213236
2022-06-09 19:36:57 -07:00
Vinod Kumar Pirla
56d94c31da qcacld-3.0: Remove roam_ho_fail member in hdd_adapter
The roam_ho_fail member in the hdd_adapter structure has
no references in the driver so remove this obsolete variable.
The code that previously used this variable was removed by Change-Id:
I2934e4a867458561c50170b0e786e63f20f1af4a

Change-Id: Iedd6359894433f216525a2e447f64fa665ed86e6
CRs-Fixed: 3213513
2022-06-09 19:36:51 -07:00
Vinod Kumar Pirla
092b4ef76a qcacld-3.0: Remove offloads_configured member in hdd_adapter
The offloads_configured member in the hdd_adapter structure
is currently only initialized but not referenced anywhere
in the driver so remove this obsolete variable.
The variable was introduced by Change-Id:
Icf598ca97da74f84bea607e4e902d1889806f507

Change-Id: I7af0679fe82e76f91f8c74aa674c72db17383e34
CRs-Fixed: 3213560
2022-06-09 19:36:45 -07:00
Madhvapathi Sriram
acb7e8644b qcacld-3.0: Command to configure peer tx queue flush
This enables configuration from user if and when the stale
packets from peer TID queues can be flushed.

Change-Id: Ic7427cdb8b70eeefea1b99d1f9be505a9cae76e6
CRs-Fixed: 3130419
2022-06-09 19:36:38 -07:00
Madan Koyyalamudi
1eadf54606 Release 5.2.1.24Q
Release 5.2.1.24Q

Change-Id: I84b9907027424817e4ffcfa3c3c1724932041918
CRs-Fixed: 774533
2022-06-09 11:42:52 -07:00
Deeksha Gupta
a556ae6e75 qcacld-3.0: Add support to encode and decode EHT operations IE
Currently parser code doesn't have support for packing and
unpacking of optional fields in EHT operation IE which are
dependent on HT op, VHT op and HE op IE.

To achive this, add API to encode and decode EHT op IE and include
the generated EHT operation IE bytes in beacon and assoc response
frames.

Change-Id: Iab955903a3112cdbe4c9acb6e59eca4ea31bdabe
CRs-Fixed: 3197354
2022-06-09 11:42:52 -07:00
Deeksha Gupta
56108bc0f0 qcacld-3.0: Update EHT IEs handling as per new definitions
EHT capabilities and EHT operation IE definitions are updated as per
new draft version D1.5. Update corresponding IE handling as per new
definitions.

Change-Id: I16b8c578e28c8d9fd24383879291e6e976da2efa
CRs-Fixed: 3197353
2022-06-09 11:42:45 -07:00
Deeksha Gupta
f7630164fa qcacld-3.0: update EHT capabilities IE as per draft 1.5
Update dot11f EHT capabilities IE definitions as per 11be draft 1.5
specification.

Change-Id: I0694587f006225539330a9beac19824ea7a1a708
CRs-Fixed: 3197352
2022-06-09 11:42:38 -07:00
Deeksha Gupta
fe52433b9d qcacld-3.0: update EHT operation IE as per draft 1.5
Update dot11f EHT operation IE definitions as per 11be draft 1.5
specification.

Change-Id: If0027436148c6a88dbef7caf42a6a11a9cf3a5bf
CRs-Fixed: 3197295
2022-06-09 11:42:31 -07:00
Arun Kumar Khandavalli
5e29697d88 qcacld-3.0: Add EHT bitrate support
Add EHT MCS to rate mapping for NSS 1 and NSS 2.

Update TX/RX bitrate for EHT connection depending on current MCS/NSS
configuration.

Change-Id: I0c55beab2c6b9a9609d5a2e454a0c0e8c1312d09
CRs-Fixed: 3181127
2022-06-09 11:42:24 -07:00
Amit Mehta
b389b5b1bd qcacld-3.0: Add vdev lock to dp component
Add vdev lock to DP component to protect against
vdev parallel delete while accessing vdev from
DP interface, also introduce get and put APIs.

Change-Id: I4ee838e1dea0caf9936ced13d6ddce6646333f6b
CRs-Fixed: 3198876
2022-06-09 11:42:18 -07:00
Madan Koyyalamudi
cbb51199af Release 5.2.1.24P
Release 5.2.1.24P

Change-Id: I875b2553a74135d924af4d7ef088c487acf25e00
CRs-Fixed: 774533
2022-06-09 08:23:46 -07:00
Vinod Kumar Pirla
a4b59b1b08 qcacld-3.0: Remove acs_pending_work member in hdd_adapter
The acs_pending_work member in the hdd_adapter structure has
no references in the driver so remove this obsolete variable.
The code that previously used this variable was removed by Change-Id:
I439398b406e9371a8e443f5409bd3f25b3062501

Change-Id: I64ed789ad0d0751cc683f48bd859b9d600c11f6e
CRs-Fixed: 3213562
2022-06-09 08:23:46 -07:00
Karthik Kantamneni
5b7f718dad qcacld-3.0: Fix DP component Rx packet drop in MLO case
Currently in MLO use case DP component interface is not
mapped to netdev registered to ip stack and also Rx packet
over nl interface is broken.

Fix these issues by attaching DP component interface
to netdevice which is registered to ip stack for TX/RX.
Fix Rx packet over nl interface by checking
corresponding ops properly.

Change-Id: Ibf9cb03565a9e2d5cd02091995259376e1069790
CRs-Fixed: 3200617
2022-06-09 08:23:40 -07:00
Vinod Kumar Pirla
225716a360 qcacld-3.0: Remove tx_action_cnf_event member in hdd_adapter
The tx_action_cnf_event member in the hdd_adapter structure has
no references in the driver so remove this obsolete variable.
The code that previously used this variable was removed by Change-Id:
Idaaacac4fdaf1b964432c33c10b1c86f8a591c2d

Change-Id: Idad017aa5568a3f2e49849522443dd2483562a66
CRs-Fixed: 3213565
2022-06-09 08:23:33 -07:00
Vinod Kumar Pirla
31b8ef667d qcacld-3.0: Remove offchannel_tx_event member in hdd_adapter
The offchannel_tx_event member in the hdd_adapter structure has
no references in the driver so remove this obsolete variable.
The code that previously used this variable was removed by Change-Id:
Idaaacac4fdaf1b964432c33c10b1c86f8a591c2d

Change-Id: Icf51105e0c3e04ec2e1b26aa6c7a36a017b4c573
CRs-Fixed: 3213567
2022-06-09 08:23:27 -07:00