aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-core.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index ae542b7575c3..26eb7fafff76 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -277,45 +277,6 @@ void iwl_update_stats(struct iwl_priv *priv, bool is_tx, __le16 fc, u16 len)
277} 277}
278#endif 278#endif
279 279
280int iwl_force_rf_reset(struct iwl_priv *priv, bool external)
281{
282 struct iwl_rf_reset *rf_reset;
283
284 if (test_bit(STATUS_EXIT_PENDING, &priv->status))
285 return -EAGAIN;
286
287 if (!iwl_is_any_associated(priv)) {
288 IWL_DEBUG_SCAN(priv, "force reset rejected: not associated\n");
289 return -ENOLINK;
290 }
291
292 rf_reset = &priv->rf_reset;
293 rf_reset->reset_request_count++;
294 if (!external && rf_reset->last_reset_jiffies &&
295 time_after(rf_reset->last_reset_jiffies +
296 IWL_DELAY_NEXT_FORCE_RF_RESET, jiffies)) {
297 IWL_DEBUG_INFO(priv, "RF reset rejected\n");
298 rf_reset->reset_reject_count++;
299 return -EAGAIN;
300 }
301 rf_reset->reset_success_count++;
302 rf_reset->last_reset_jiffies = jiffies;
303
304 /*
305 * There is no easy and better way to force reset the radio,
306 * the only known method is switching channel which will force to
307 * reset and tune the radio.
308 * Use internal short scan (single channel) operation to should
309 * achieve this objective.
310 * Driver should reset the radio when number of consecutive missed
311 * beacon, or any other uCode error condition detected.
312 */
313 IWL_DEBUG_INFO(priv, "perform radio reset.\n");
314 iwl_internal_short_hw_scan(priv);
315 return 0;
316}
317
318
319int iwl_cmd_echo_test(struct iwl_priv *priv) 280int iwl_cmd_echo_test(struct iwl_priv *priv)
320{ 281{
321 int ret; 282 int ret;