|
@@ -1567,6 +1567,22 @@ fail:
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
|
|
|
+static void dp_rx_peek_trapped_packet(struct dp_soc *soc,
|
|
|
|
+ struct dp_vdev *vdev)
|
|
|
|
+{
|
|
|
|
+ if (soc->cdp_soc.ol_ops->send_wakeup_trigger)
|
|
|
|
+ soc->cdp_soc.ol_ops->send_wakeup_trigger(soc->ctrl_psoc,
|
|
|
|
+ vdev->vdev_id);
|
|
|
|
+}
|
|
|
|
+#else
|
|
|
|
+static void dp_rx_peek_trapped_packet(struct dp_soc *soc,
|
|
|
|
+ struct dp_vdev *vdev)
|
|
|
|
+{
|
|
|
|
+ return;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) && \
|
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) && \
|
|
defined(WLAN_MCAST_MLO)
|
|
defined(WLAN_MCAST_MLO)
|
|
static bool dp_rx_igmp_handler(struct dp_soc *soc,
|
|
static bool dp_rx_igmp_handler(struct dp_soc *soc,
|
|
@@ -1684,6 +1700,10 @@ dp_rx_err_route_hdl(struct dp_soc *soc, qdf_nbuf_t nbuf,
|
|
qdf_nbuf_pull_head(nbuf, (msdu_metadata.l3_hdr_pad +
|
|
qdf_nbuf_pull_head(nbuf, (msdu_metadata.l3_hdr_pad +
|
|
soc->rx_pkt_tlv_size));
|
|
soc->rx_pkt_tlv_size));
|
|
|
|
|
|
|
|
+ if (hal_rx_msdu_cce_metadata_get(soc->hal_soc, rx_tlv_hdr) ==
|
|
|
|
+ CDP_STANDBY_METADATA)
|
|
|
|
+ dp_rx_peek_trapped_packet(soc, vdev);
|
|
|
|
+
|
|
QDF_NBUF_CB_RX_PEER_ID(nbuf) = txrx_peer->peer_id;
|
|
QDF_NBUF_CB_RX_PEER_ID(nbuf) = txrx_peer->peer_id;
|
|
if (dp_rx_igmp_handler(soc, vdev, txrx_peer, nbuf, link_id))
|
|
if (dp_rx_igmp_handler(soc, vdev, txrx_peer, nbuf, link_id))
|
|
return;
|
|
return;
|