diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-02-28 14:33:15 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-28 14:06:57 -0500 |
commit | b7977ffaab5187ad75edaf04ac854615cea93828 (patch) | |
tree | fd2658e9560f959c03e580ccfb9e1f2bfa17c992 /drivers/net/wireless/iwlwifi/iwl-rx.c | |
parent | 8a032c132b7ca011813df7c441b4a6fc89e5baee (diff) | |
download | linux-b7977ffaab5187ad75edaf04ac854615cea93828.tar.gz linux-b7977ffaab5187ad75edaf04ac854615cea93828.tar.bz2 linux-b7977ffaab5187ad75edaf04ac854615cea93828.zip |
iwlwifi: add {ack,plpc}_check module parameters
Add module ack_check, and plcp_check parameters. Ack_check is disabled
by default since is proved that check ack health can cause troubles.
Plcp_check is enabled by default.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-rx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index a21f6fe10fb7..fd84d53db3ac 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c @@ -230,18 +230,22 @@ void iwl_rx_spectrum_measure_notif(struct iwl_priv *priv, void iwl_recover_from_statistics(struct iwl_priv *priv, struct iwl_rx_packet *pkt) { + const struct iwl_mod_params *mod_params = priv->cfg->mod_params; + if (test_bit(STATUS_EXIT_PENDING, &priv->status) || !iwl_is_any_associated(priv)) return; - if (priv->cfg->ops->lib->check_ack_health && + if (mod_params->ack_check && + priv->cfg->ops->lib->check_ack_health && !priv->cfg->ops->lib->check_ack_health(priv, pkt)) { IWL_ERR(priv, "low ack count detected, restart firmware\n"); if (!iwl_force_reset(priv, IWL_FW_RESET, false)) return; } - if (priv->cfg->ops->lib->check_plcp_health && + if (mod_params->plcp_check && + priv->cfg->ops->lib->check_plcp_health && !priv->cfg->ops->lib->check_plcp_health(priv, pkt)) iwl_force_reset(priv, IWL_RF_RESET, false); } |