wifi: iwlwifi: mld: remove stored_beacon support
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 23 Apr 2025 06:16:32 +0000 (09:16 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 23 Apr 2025 13:37:38 +0000 (15:37 +0200)
We never ask the firmware to store the beacon, so it won't ever send the
notification.
Remove the handling of that notification.
Remove that notification from the arrays of the notifications' names and
add the ones that we forgot to add.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250423091408.2bb3ea3ff79b.Ie8f1d89f59d45a960a5fe63e7b717527251350ad@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mld/mld.c
drivers/net/wireless/intel/iwlwifi/mld/notif.c

index d4a99ae..367f973 100644 (file)
@@ -286,7 +286,9 @@ static const struct iwl_hcmd_names iwl_mld_statistics_names[] = {
  * Access is done through binary search
  */
 static const struct iwl_hcmd_names iwl_mld_prot_offload_names[] = {
-       HCMD_NAME(STORED_BEACON_NTF),
+       HCMD_NAME(WOWLAN_WAKE_PKT_NOTIFICATION),
+       HCMD_NAME(WOWLAN_INFO_NOTIFICATION),
+       HCMD_NAME(D3_END_NOTIFICATION),
 };
 
 /* Please keep this array *SORTED* by hex value.
index fc18cba..b8a3204 100644 (file)
@@ -182,47 +182,6 @@ static void iwl_mld_handle_mu_mimo_grp_notif(struct iwl_mld *mld,
                                                   notif);
 }
 
-static void
-iwl_mld_handle_stored_beacon_notif(struct iwl_mld *mld,
-                                  struct iwl_rx_packet *pkt)
-{
-       unsigned int pkt_len = iwl_rx_packet_payload_len(pkt);
-       struct iwl_stored_beacon_notif *sb = (void *)pkt->data;
-       struct ieee80211_rx_status rx_status = {};
-       struct sk_buff *skb;
-       u32 size = le32_to_cpu(sb->common.byte_count);
-
-       if (size == 0)
-               return;
-
-       if (pkt_len < struct_size(sb, data, size))
-               return;
-
-       skb = alloc_skb(size, GFP_ATOMIC);
-       if (!skb) {
-               IWL_ERR(mld, "alloc_skb failed\n");
-               return;
-       }
-
-       /* update rx_status according to the notification's metadata */
-       rx_status.mactime = le64_to_cpu(sb->common.tsf);
-       /* TSF as indicated by the firmware  is at INA time */
-       rx_status.flag |= RX_FLAG_MACTIME_PLCP_START;
-       rx_status.device_timestamp = le32_to_cpu(sb->common.system_time);
-       rx_status.band =
-               iwl_mld_phy_band_to_nl80211(le16_to_cpu(sb->common.band));
-       rx_status.freq =
-               ieee80211_channel_to_frequency(le16_to_cpu(sb->common.channel),
-                                              rx_status.band);
-
-       /* copy the data */
-       skb_put_data(skb, sb->data, size);
-       memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status));
-
-       /* pass it as regular rx to mac80211 */
-       ieee80211_rx_napi(mld->hw, NULL, skb, NULL);
-}
-
 static void
 iwl_mld_handle_channel_switch_start_notif(struct iwl_mld *mld,
                                          struct iwl_rx_packet *pkt)
@@ -361,8 +320,6 @@ CMD_VERSIONS(ct_kill_notif,
             CMD_VER_ENTRY(2, ct_kill_notif))
 CMD_VERSIONS(temp_notif,
             CMD_VER_ENTRY(2, iwl_dts_measurement_notif))
-CMD_VERSIONS(stored_beacon_notif,
-            CMD_VER_ENTRY(4, iwl_stored_beacon_notif))
 CMD_VERSIONS(roc_notif,
             CMD_VER_ENTRY(1, iwl_roc_notif))
 CMD_VERSIONS(probe_resp_data_notif,
@@ -473,8 +430,6 @@ const struct iwl_rx_handler iwl_mld_rx_handlers[] = {
        RX_HANDLER_OF_ROC(MAC_CONF_GROUP, ROC_NOTIF, roc_notif)
        RX_HANDLER_NO_OBJECT(DATA_PATH_GROUP, MU_GROUP_MGMT_NOTIF,
                             mu_mimo_grp_notif, RX_HANDLER_SYNC)
-       RX_HANDLER_NO_OBJECT(PROT_OFFLOAD_GROUP, STORED_BEACON_NTF,
-                            stored_beacon_notif, RX_HANDLER_SYNC)
        RX_HANDLER_OF_VIF(MAC_CONF_GROUP, PROBE_RESPONSE_DATA_NOTIF,
                          probe_resp_data_notif)
        RX_HANDLER_NO_OBJECT(PHY_OPS_GROUP, CT_KILL_NOTIFICATION,