iwlwifi: dvm: start HW before running FW
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 16 Jun 2015 19:37:40 +0000 (22:37 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Fri, 26 Jun 2015 06:00:25 +0000 (09:00 +0300)
The new locking in PCIe transport requires to start_hw
before start_fw. This uncovered a bug in dvm which failed
to do so.
Fix that.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/dvm/mac80211.c

index 7acaa266b704699754a30bda7f5cb1547767e8ae..f603fb3122f7474c4622d2caf5422887d17999a4 100644 (file)
@@ -250,12 +250,24 @@ static int __iwl_up(struct iwl_priv *priv)
                }
        }
 
+       ret = iwl_trans_start_hw(priv->trans);
+       if (ret) {
+               IWL_ERR(priv, "Failed to start HW: %d\n", ret);
+               goto error;
+       }
+
        ret = iwl_run_init_ucode(priv);
        if (ret) {
                IWL_ERR(priv, "Failed to run INIT ucode: %d\n", ret);
                goto error;
        }
 
+       ret = iwl_trans_start_hw(priv->trans);
+       if (ret) {
+               IWL_ERR(priv, "Failed to start HW: %d\n", ret);
+               goto error;
+       }
+
        ret = iwl_load_ucode_wait_alive(priv, IWL_UCODE_REGULAR);
        if (ret) {
                IWL_ERR(priv, "Failed to start RT ucode: %d\n", ret);