]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: mvm: remove support for iwl_wowlan_info_notif_v4
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 9 Jul 2025 05:16:34 +0000 (08:16 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 9 Jul 2025 08:43:16 +0000 (11:43 +0300)
FWs with this version are no longer supported on any device.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250709081300.1668a7430521.I488d69251aed62f0b11a2553f972a1730bc8b6cf@changeid
drivers/net/wireless/intel/iwlwifi/fw/api/d3.h
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index 9ce819503aed30e840eea83cb7c8e6d21585a774..99554496300a5250f585605eb897c577702e953c 100644 (file)
@@ -912,7 +912,7 @@ struct iwl_wowlan_mlo_gtk {
 } __packed; /* WOWLAN_MLO_GTK_KEY_API_S_VER_1 */
 
 /**
- * struct iwl_wowlan_info_notif_v4 - WoWLAN information notification
+ * struct iwl_wowlan_info_notif_v3 - WoWLAN information notification
  * @gtk: GTK data
  * @igtk: IGTK data
  * @bigtk: BIGTK data
@@ -927,12 +927,9 @@ struct iwl_wowlan_mlo_gtk {
  * @tid_tear_down: bit mask of tids whose BA sessions were closed
  *     in suspend state
  * @station_id: station id
- * @num_mlo_link_keys: number of &struct iwl_wowlan_mlo_gtk structs
- *     following this notif, or reserved in version < 4
  * @reserved2: reserved
- * @mlo_gtks: array of GTKs of size num_mlo_link_keys for version >= 4
  */
-struct iwl_wowlan_info_notif_v4 {
+struct iwl_wowlan_info_notif_v3 {
        struct iwl_wowlan_gtk_status_v3 gtk[WOWLAN_GTK_KEYS_NUM];
        struct iwl_wowlan_igtk_status igtk[WOWLAN_IGTK_KEYS_NUM];
        struct iwl_wowlan_igtk_status bigtk[WOWLAN_BIGTK_KEYS_NUM];
@@ -946,10 +943,8 @@ struct iwl_wowlan_info_notif_v4 {
        __le32 received_beacons;
        u8 tid_tear_down;
        u8 station_id;
-       u8 num_mlo_link_keys;
-       u8 reserved2;
-       struct iwl_wowlan_mlo_gtk mlo_gtks[];
-} __packed; /* WOWLAN_INFO_NTFY_API_S_VER_3, _VER_4 */
+       u8 reserved2[2];
+} __packed; /* WOWLAN_INFO_NTFY_API_S_VER_3 */
 
 /**
  * struct iwl_wowlan_info_notif - WoWLAN information notification
index 7f0b2089ab8eff1caabd14309d8e9586740adeb2..66749dc38fc5d6706224cf17c3d844563c78c187 100644 (file)
@@ -2347,17 +2347,13 @@ static void iwl_mvm_parse_wowlan_info_notif(struct iwl_mvm *mvm,
 }
 
 static void
-iwl_mvm_parse_wowlan_info_notif_v4(struct iwl_mvm *mvm,
-                                  struct iwl_wowlan_info_notif_v4 *data,
+iwl_mvm_parse_wowlan_info_notif_v3(struct iwl_mvm *mvm,
+                                  struct iwl_wowlan_info_notif_v3 *data,
                                   struct iwl_wowlan_status_data *status,
                                   u32 len)
 {
        u32 i;
 
-       if (IWL_FW_CHECK(mvm, data->num_mlo_link_keys,
-                        "MLO is not supported, shouldn't receive MLO keys\n"))
-               return;
-
        if (len < sizeof(*data)) {
                IWL_ERR(mvm, "Invalid WoWLAN info notification!\n");
                status = NULL;
@@ -3126,18 +3122,23 @@ static bool iwl_mvm_wait_d3_notif(struct iwl_notif_wait_data *notif_wait,
                        iwl_mvm_parse_wowlan_info_notif_v2(mvm, notif_v2,
                                                           d3_data->status,
                                                           len);
-               } else if (wowlan_info_ver < 5) {
-                       struct iwl_wowlan_info_notif_v4 *notif =
+               } else if (wowlan_info_ver == 3) {
+                       struct iwl_wowlan_info_notif_v3 *notif =
                                (void *)pkt->data;
 
-                       iwl_mvm_parse_wowlan_info_notif_v4(mvm, notif,
+                       iwl_mvm_parse_wowlan_info_notif_v3(mvm, notif,
                                                           d3_data->status, len);
-               } else {
+               } else if (wowlan_info_ver == 5) {
                        struct iwl_wowlan_info_notif *notif =
                                (void *)pkt->data;
 
                        iwl_mvm_parse_wowlan_info_notif(mvm, notif,
                                                        d3_data->status, len);
+               } else {
+                       IWL_FW_CHECK(mvm, 1,
+                                    "Firmware advertises unknown WoWLAN info notification %d!\n",
+                                    wowlan_info_ver);
+                       return false;
                }
 
                d3_data->notif_received |= IWL_D3_NOTIF_WOWLAN_INFO;