]> www.infradead.org Git - users/willy/xarray.git/commitdiff
wifi: ath12k: add no-op without debug print in WMI Rx event
authorAditya Kumar Singh <quic_adisi@quicinc.com>
Wed, 11 Dec 2024 15:43:54 +0000 (17:43 +0200)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Mon, 16 Dec 2024 20:46:58 +0000 (12:46 -0800)
Currently, certain WMI events are frequently received by the host. Since
the host lacks the logic to process these events, the console is flooded
with ‘Unknown eventid:’ debug messages.

To address this, handle these events gracefully without printing debug
messages. There is already a block of event IDs that are ignored with a debug
print. However, this new type of event occurs more frequently, so no debug
print is necessary, and handling it should be a no-op.

While at it, re-arrange the code so that all Unknown event IDs are towards
the end of the switch block.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://patch.msgid.link/20241211154358.776279-4-kvalo@kernel.org
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/wmi.c
drivers/net/wireless/ath/ath12k/wmi.h

index 7bec414b0358a1223f59c3baec8d95e4e764232f..3bc3ed29e4298e357ba3bbfabfcd8b51cc7a7b20 100644 (file)
@@ -7505,13 +7505,6 @@ static void ath12k_wmi_op_rx(struct ath12k_base *ab, struct sk_buff *skb)
        case WMI_P2P_NOA_EVENTID:
                ath12k_wmi_p2p_noa_event(ab, skb);
                break;
-       /* add Unsupported events here */
-       case WMI_TBTTOFFSET_EXT_UPDATE_EVENTID:
-       case WMI_PEER_OPER_MODE_CHANGE_EVENTID:
-       case WMI_PDEV_DMA_RING_CFG_RSP_EVENTID:
-               ath12k_dbg(ab, ATH12K_DBG_WMI,
-                          "ignoring unsupported event 0x%x\n", id);
-               break;
        case WMI_PDEV_DFS_RADAR_DETECTION_EVENTID:
                ath12k_wmi_pdev_dfs_radar_detected_event(ab, skb);
                break;
@@ -7533,6 +7526,19 @@ static void ath12k_wmi_op_rx(struct ath12k_base *ab, struct sk_buff *skb)
        case WMI_MLO_TEARDOWN_COMPLETE_EVENTID:
                ath12k_wmi_event_teardown_complete(ab, skb);
                break;
+       /* add Unsupported events (rare) here */
+       case WMI_TBTTOFFSET_EXT_UPDATE_EVENTID:
+       case WMI_PEER_OPER_MODE_CHANGE_EVENTID:
+       case WMI_PDEV_DMA_RING_CFG_RSP_EVENTID:
+               ath12k_dbg(ab, ATH12K_DBG_WMI,
+                          "ignoring unsupported event 0x%x\n", id);
+               break;
+       /* add Unsupported events (frequent) here */
+       case WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID:
+       case WMI_MGMT_RX_FW_CONSUMED_EVENTID:
+       case WMI_OBSS_COLOR_COLLISION_DETECTION_EVENTID:
+               /* debug might flood hence silently ignore (no-op) */
+               break;
        /* TODO: Add remaining events */
        default:
                ath12k_dbg(ab, ATH12K_DBG_WMI, "Unknown eventid: 0x%x\n", id);
index 270ed458302e535b9957e53cbeeca5cb64e41a0b..cd3de0a6554393fc454318d4a0478bc287885879 100644 (file)
@@ -711,6 +711,8 @@ enum wmi_tlv_event_id {
        WMI_PDEV_RAP_INFO_EVENTID,
        WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID,
        WMI_SERVICE_READY_EXT2_EVENTID,
+       WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID =
+                                       WMI_SERVICE_READY_EXT2_EVENTID + 4,
        WMI_VDEV_START_RESP_EVENTID = WMI_TLV_CMD(WMI_GRP_VDEV),
        WMI_VDEV_STOPPED_EVENTID,
        WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
@@ -752,6 +754,7 @@ enum wmi_tlv_event_id {
        WMI_TBTTOFFSET_EXT_UPDATE_EVENTID,
        WMI_OFFCHAN_DATA_TX_COMPLETION_EVENTID,
        WMI_HOST_FILS_DISCOVERY_EVENTID,
+       WMI_MGMT_RX_FW_CONSUMED_EVENTID = WMI_HOST_FILS_DISCOVERY_EVENTID + 3,
        WMI_TX_DELBA_COMPLETE_EVENTID = WMI_TLV_CMD(WMI_GRP_BA_NEG),
        WMI_TX_ADDBA_COMPLETE_EVENTID,
        WMI_BA_RSP_SSN_EVENTID,
@@ -850,6 +853,8 @@ enum wmi_tlv_event_id {
        WMI_MDNS_STATS_EVENTID = WMI_TLV_CMD(WMI_GRP_MDNS_OFL),
        WMI_SAP_OFL_ADD_STA_EVENTID = WMI_TLV_CMD(WMI_GRP_SAP_OFL),
        WMI_SAP_OFL_DEL_STA_EVENTID,
+       WMI_OBSS_COLOR_COLLISION_DETECTION_EVENTID =
+                                   WMI_EVT_GRP_START_ID(WMI_GRP_OBSS_OFL),
        WMI_OCB_SET_CONFIG_RESP_EVENTID = WMI_TLV_CMD(WMI_GRP_OCB),
        WMI_OCB_GET_TSF_TIMER_RESP_EVENTID,
        WMI_DCC_GET_STATS_RESP_EVENTID,