You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
Index: src/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
|
|
===================================================================
|
|
--- src.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2019-09-08 16:01:11.062359133 +0200
|
|
+++ src/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2019-09-08 16:01:21.332226910 +0200
|
|
@@ -115,6 +115,7 @@
|
|
struct device *dev;
|
|
|
|
int fw_index; /* firmware we're trying to load */
|
|
+ bool fw_dup; /* tru to load firmware from DUP */
|
|
char firmware_name[64]; /* name of firmware file to load */
|
|
|
|
struct completion request_firmware_complete;
|
|
@@ -227,9 +228,15 @@
|
|
|
|
if (first) {
|
|
drv->fw_index = cfg->ucode_api_max;
|
|
+ drv->fw_dup = true;
|
|
sprintf(tag, "%d", drv->fw_index);
|
|
} else {
|
|
- drv->fw_index--;
|
|
+ if (drv->fw_dup) {
|
|
+ drv->fw_dup = false;
|
|
+ } else {
|
|
+ drv->fw_dup = true;
|
|
+ drv->fw_index--;
|
|
+ }
|
|
sprintf(tag, "%d", drv->fw_index);
|
|
}
|
|
|
|
@@ -251,7 +258,8 @@
|
|
return -ENOENT;
|
|
}
|
|
|
|
- snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode",
|
|
+ snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s%s.ucode",
|
|
+ drv->fw_dup ? "iwlwifi_dup8.0/" : "",
|
|
cfg->fw_name_pre, tag);
|
|
|
|
IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n",
|