iwlwifi: pcie: avoid msleep() with short timeout
authorJohannes Berg <johannes.berg@intel.com>
Wed, 13 Apr 2016 08:31:14 +0000 (10:31 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 10 May 2016 19:34:08 +0000 (22:34 +0300)
Since msleep is based on jiffies, it can sleep for a long time.
Use usleep_range() instead to shorten the maximum time.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index 59fd17a75a2c4a8c24aa05dc511e87ec4bab36a6..f603d7830a6b219d49d3615b656d16d9cd2ef7dd 100644 (file)
@@ -582,7 +582,7 @@ static int iwl_pcie_prepare_card_hw(struct iwl_trans *trans)
 
        iwl_set_bit(trans, CSR_DBG_LINK_PWR_MGMT_REG,
                    CSR_RESET_LINK_PWR_MGMT_DISABLED);
-       msleep(1);
+       usleep_range(1000, 2000);
 
        for (iter = 0; iter < 10; iter++) {
                /* If HW is not ready, prepare the conditions to check again */
@@ -1945,7 +1945,7 @@ static int iwl_trans_pcie_wait_txq_empty(struct iwl_trans *trans, u32 txq_bm)
                                      "WR pointer moved while flushing %d -> %d\n",
                                      wr_ptr, write_ptr))
                                return -ETIMEDOUT;
-                       msleep(1);
+                       usleep_range(1000, 2000);
                }
 
                if (q->read_ptr != q->write_ptr) {