From: Takashi Iwai <tiwai@suse.de>
Subject: iwlwifi: Fix MODULE_FIRMWARE() for non-existing ucode version
Patch-mainline: Never, temporary workaround
References: boo#1191417
iwlwifi driver declares the requested firmware *-66.ucode for 22000
series, but that version isn't found in the upstream linux-firmware
tree. As a result, the installation image (and initrd) misses the
requested firmware, which leads to the non-working WiFi.
As a temporary fix, correct the ucode version in MODULE_FIRMWARE().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
drivers/net/wireless/intel/iwlwifi/cfg/22000.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
--- a/drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/22000.c
@@ -866,9 +866,10 @@ MODULE_FIRMWARE(IWL_QUZ_A_HR_B_MODULE_FI
MODULE_FIRMWARE(IWL_QUZ_A_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_QNJ_B_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_CC_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_SO_A_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_SO_A_HR_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_SO_A_GF_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
+/* Some models have no *-66.ucode but only *-64.ucode (bsc#1197762) */
+MODULE_FIRMWARE(IWL_SO_A_JF_B_MODULE_FIRMWARE(64));
+MODULE_FIRMWARE(IWL_SO_A_HR_B_MODULE_FIRMWARE(64));
+MODULE_FIRMWARE(IWL_SO_A_GF_A_MODULE_FIRMWARE(64));
MODULE_FIRMWARE(IWL_TY_A_GF_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_SNJ_A_GF4_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_SNJ_A_GF_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));