iwlwifi: pcie: extend device reset delay
[cascardo/linux.git] / drivers / net / wireless / intel / iwlwifi / pcie / trans.c
index edf9e23..59fd17a 100644 (file)
@@ -360,8 +360,7 @@ static void iwl_pcie_apm_lp_xtal_enable(struct iwl_trans *trans)
 
        /* Reset entire device - do controller reset (results in SHRD_HW_RST) */
        iwl_set_bit(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
-
-       udelay(10);
+       usleep_range(1000, 2000);
 
        /*
         * Set "initialization complete" bit to move adapter from
@@ -407,8 +406,7 @@ static void iwl_pcie_apm_lp_xtal_enable(struct iwl_trans *trans)
         * SHRD_HW_RST). Turn MAC off before proceeding.
         */
        iwl_set_bit(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
-
-       udelay(10);
+       usleep_range(1000, 2000);
 
        /* Enable LP XTAL by indirect access through CSR */
        apmg_gp1_reg = iwl_trans_pcie_read_shr(trans, SHR_APMG_GP1_REG);
@@ -505,8 +503,7 @@ static void iwl_pcie_apm_stop(struct iwl_trans *trans, bool op_mode_leave)
 
        /* Reset the entire device */
        iwl_set_bit(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
-
-       udelay(10);
+       usleep_range(1000, 2000);
 
        /*
         * Clear "initialization complete" bit to move adapter from
@@ -1073,7 +1070,7 @@ static void _iwl_trans_pcie_stop_device(struct iwl_trans *trans, bool low_power)
 
        /* stop and reset the on-board processor */
        iwl_write32(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
-       udelay(20);
+       usleep_range(1000, 2000);
 
        /*
         * Upon stop, the APM issues an interrupt if HW RF kill is set.
@@ -1525,8 +1522,7 @@ static int _iwl_trans_pcie_start_hw(struct iwl_trans *trans, bool low_power)
 
        /* Reset the entire device */
        iwl_write32(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
-
-       usleep_range(10, 15);
+       usleep_range(1000, 2000);
 
        iwl_pcie_apm_init(trans);