|
@@ -2104,18 +2104,23 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
|
|
|
* firmware filename ... but we don't check for that and only rely
|
|
|
* on the API version read from firmware header from here on forward
|
|
|
*/
|
|
|
- if (api_ver < api_min || api_ver > api_max) {
|
|
|
- IWL_ERR(priv, "Driver unable to support your firmware API. "
|
|
|
- "Driver supports v%u, firmware is v%u.\n",
|
|
|
- api_max, api_ver);
|
|
|
- goto try_again;
|
|
|
- }
|
|
|
+ /* no api version check required for experimental uCode */
|
|
|
+ if (priv->fw_index != UCODE_EXPERIMENTAL_INDEX) {
|
|
|
+ if (api_ver < api_min || api_ver > api_max) {
|
|
|
+ IWL_ERR(priv,
|
|
|
+ "Driver unable to support your firmware API. "
|
|
|
+ "Driver supports v%u, firmware is v%u.\n",
|
|
|
+ api_max, api_ver);
|
|
|
+ goto try_again;
|
|
|
+ }
|
|
|
|
|
|
- if (api_ver != api_max)
|
|
|
- IWL_ERR(priv, "Firmware has old API version. Expected v%u, "
|
|
|
- "got v%u. New firmware can be obtained "
|
|
|
- "from http://www.intellinuxwireless.org.\n",
|
|
|
- api_max, api_ver);
|
|
|
+ if (api_ver != api_max)
|
|
|
+ IWL_ERR(priv,
|
|
|
+ "Firmware has old API version. Expected v%u, "
|
|
|
+ "got v%u. New firmware can be obtained "
|
|
|
+ "from http://www.intellinuxwireless.org.\n",
|
|
|
+ api_max, api_ver);
|
|
|
+ }
|
|
|
|
|
|
if (build)
|
|
|
sprintf(buildstr, " build %u%s", build,
|