iwlwifi: mvm: support LONG_GROUP for WOWLAN_GET_STATUSES version
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Fri, 18 Jun 2021 08:01:15 +0000 (11:01 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 22 Jun 2021 13:57:56 +0000 (16:57 +0300)
It's been a while that the firmware uses LONG_GROUP by default
and not LEGACY_GROUP.
Until now the firmware wrongly advertise the WOWLAN_GET_STATUS
command's version with LEGACY_GROUP, but it is now being fixed.
In order to support both firmwares, first try to get the version
number of the command with the LONG_GROUP and if the firmware
didn't advertise the command version with LONG_GROUP, try to get
the command version with LEGACY_GROUP.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210618105614.cd6f4e421430.Iec07c746c8e65bc267e4750f38e4f74f2010ca45@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index e86f0e949b86c5f65847c3bf3a6921af35fcaa13..6617fe5a7ecebb27c9a39e4388f57b63098a041e 100644 (file)
@@ -1614,8 +1614,11 @@ struct iwl_wowlan_status *iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm)
        len = iwl_rx_packet_payload_len(cmd.resp_pkt);
 
        /* default to 7 (when we have IWL_UCODE_TLV_API_WOWLAN_KEY_MATERIAL) */
-       notif_ver = iwl_fw_lookup_notif_ver(mvm->fw, LEGACY_GROUP,
-                                           WOWLAN_GET_STATUSES, 7);
+       notif_ver = iwl_fw_lookup_notif_ver(mvm->fw, LONG_GROUP,
+                                           WOWLAN_GET_STATUSES, 0);
+       if (!notif_ver)
+               notif_ver = iwl_fw_lookup_notif_ver(mvm->fw, LEGACY_GROUP,
+                                                   WOWLAN_GET_STATUSES, 7);
 
        if (!fw_has_api(&mvm->fw->ucode_capa,
                        IWL_UCODE_TLV_API_WOWLAN_KEY_MATERIAL)) {