diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-ucode.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c index 946d3a16e494..a895a099d086 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | |||
@@ -513,14 +513,21 @@ int iwlagn_load_ucode_wait_alive(struct iwl_priv *priv, | |||
513 | return -EIO; | 513 | return -EIO; |
514 | } | 514 | } |
515 | 515 | ||
516 | ret = iwl_verify_ucode(priv, image); | 516 | /* |
517 | if (ret) { | 517 | * This step takes a long time (60-80ms!!) and |
518 | priv->ucode_type = old_type; | 518 | * WoWLAN image should be loaded quickly, so |
519 | return ret; | 519 | * skip it for WoWLAN. |
520 | } | 520 | */ |
521 | if (ucode_type != IWL_UCODE_WOWLAN) { | ||
522 | ret = iwl_verify_ucode(priv, image); | ||
523 | if (ret) { | ||
524 | priv->ucode_type = old_type; | ||
525 | return ret; | ||
526 | } | ||
521 | 527 | ||
522 | /* delay a bit to give rfkill time to run */ | 528 | /* delay a bit to give rfkill time to run */ |
523 | msleep(5); | 529 | msleep(5); |
530 | } | ||
524 | 531 | ||
525 | ret = iwlagn_alive_notify(priv); | 532 | ret = iwlagn_alive_notify(priv); |
526 | if (ret) { | 533 | if (ret) { |