diff options
author | PixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com> | 2023-03-12 18:42:09 -0700 |
---|---|---|
committer | SecurityBot <android-nexus-securitybot@system.gserviceaccount.com> | 2023-03-12 18:42:09 -0700 |
commit | a8d1a2cfc8fd16f9fe11b3b48b351ae7f7e97d83 (patch) | |
tree | ef803e1f09797dad4b292512ab1c7877da6a0c1e | |
parent | e47c7684755c837dcd117e471ce1f08ff781abf8 (diff) | |
parent | b81914402ed2b5913e89167eb5ac9359dcb8ce4b (diff) | |
download | wlan-a8d1a2cfc8fd16f9fe11b3b48b351ae7f7e97d83.tar.gz |
Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udc
SBMerger: 478053055
Change-Id: Ie5f8a8c8d3d159d606ceafeefb4ca36083caf7d5
Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
-rw-r--r-- | qca-wifi-host-cmn/dp/wifi3.0/dp_types.h | 1 | ||||
-rw-r--r-- | qcacld-3.0/core/dp/txrx3.0/dp_fisa_rx.c | 12 | ||||
-rw-r--r-- | qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c | 2 | ||||
-rw-r--r-- | qcacld-3.0/core/wma/src/wma_features.c | 5 |
4 files changed, 19 insertions, 1 deletions
diff --git a/qca-wifi-host-cmn/dp/wifi3.0/dp_types.h b/qca-wifi-host-cmn/dp/wifi3.0/dp_types.h index e399112..ede018b 100644 --- a/qca-wifi-host-cmn/dp/wifi3.0/dp_types.h +++ b/qca-wifi-host-cmn/dp/wifi3.0/dp_types.h @@ -3576,6 +3576,7 @@ struct dp_fisa_stats { /* flow index invalid from RX HW TLV */ uint32_t invalid_flow_index; uint32_t reo_mismatch; + uint32_t incorrect_rdi; }; enum fisa_aggr_ret { diff --git a/qcacld-3.0/core/dp/txrx3.0/dp_fisa_rx.c b/qcacld-3.0/core/dp/txrx3.0/dp_fisa_rx.c index a3adead..79c1866 100644 --- a/qcacld-3.0/core/dp/txrx3.0/dp_fisa_rx.c +++ b/qcacld-3.0/core/dp/txrx3.0/dp_fisa_rx.c @@ -1945,6 +1945,7 @@ QDF_STATUS dp_fisa_rx(struct dp_soc *soc, struct dp_vdev *vdev, struct dp_fisa_rx_sw_ft *fisa_flow; int fisa_ret; uint8_t rx_ctx_id = QDF_NBUF_CB_RX_CTX_ID(nbuf_list); + uint32_t tlv_reo_dest_ind; head_nbuf = nbuf_list; @@ -1973,6 +1974,17 @@ QDF_STATUS dp_fisa_rx(struct dp_soc *soc, struct dp_vdev *vdev, qdf_nbuf_push_head(head_nbuf, soc->rx_pkt_tlv_size + QDF_NBUF_CB_RX_PACKET_L3_HDR_PAD(head_nbuf)); + hal_rx_msdu_get_reo_destination_indication(soc->hal_soc, + (uint8_t *)qdf_nbuf_data(head_nbuf), + &tlv_reo_dest_ind); + /* Skip FISA aggregation and drop the frame if RDI is REO2TCL */ + if (qdf_unlikely(tlv_reo_dest_ind == REO_REMAP_TCL)) { + qdf_nbuf_free(head_nbuf); + head_nbuf = next_nbuf; + DP_STATS_INC(dp_fisa_rx_hdl, incorrect_rdi, 1); + continue; + } + /* Add new flow if the there is no ongoing flow */ fisa_flow = dp_rx_get_fisa_flow(dp_fisa_rx_hdl, vdev, head_nbuf); diff --git a/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c b/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c index 140b4c9..cb5aa94 100644 --- a/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c +++ b/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c @@ -2102,8 +2102,8 @@ wlan_hdd_pld_uevent(struct device *dev, struct pld_uevent_data *event_data) break; case PLD_FW_HANG_EVENT: - hdd_info("Received firmware hang event"); cds_get_recovery_reason(&reason); + hdd_info("Received firmware hang event, reason: %d", reason); qdf_mem_zero(&g_fw_host_hang_event, QDF_HANG_EVENT_DATA_SIZE); hang_evt_data.hang_data = g_fw_host_hang_event; hang_evt_data.offset = 0; diff --git a/qcacld-3.0/core/wma/src/wma_features.c b/qcacld-3.0/core/wma/src/wma_features.c index 17fdb2a..0f097dc 100644 --- a/qcacld-3.0/core/wma/src/wma_features.c +++ b/qcacld-3.0/core/wma/src/wma_features.c @@ -2909,6 +2909,11 @@ wma_wow_wakeup_host_trigger_ssr(t_wma_handle *wma, uint32_t reason) if (!wlan_pmo_enable_ssr_on_page_fault(wma->psoc)) return; + if (wmi_get_runtime_pm_inprogress(wma->wmi_handle)) { + wma_debug("Ignore run time pm wakeup"); + return; + } + pagefault_wakeups_for_ssr = wlan_pmo_get_max_pagefault_wakeups_for_ssr(wma->psoc); |