Blob Blame History Raw
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));