]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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 d4a99ae64074f122640df7befabe875cdcf8f2fb..367f9738c011e2e9dbc6db1ed0e9c5c59eaa1978 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 fc18cba8aaa8d185fe8e1becf8eb25e8e39174dc..b8a3204c7847bdf99423db65922294e6bbe8ce3e 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,