Răsfoiți Sursa

iwlwifi: checking for all the possible failure cases

Multiple error condition require fw/rf reset, driver should check all
the possible errors as long as the error checking functions for the
devices are available.

Reported-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Wey-Yi Guy 15 ani în urmă
părinte
comite
3d38f1731e
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      drivers/net/wireless/iwlwifi/iwl-rx.c

+ 4 - 2
drivers/net/wireless/iwlwifi/iwl-rx.c

@@ -412,9 +412,11 @@ static void iwl_recover_from_statistics(struct iwl_priv *priv,
 				 */
 				 */
 				IWL_ERR(priv, "low ack count detected, "
 				IWL_ERR(priv, "low ack count detected, "
 					"restart firmware\n");
 					"restart firmware\n");
-				iwl_force_reset(priv, IWL_FW_RESET);
+				if (!iwl_force_reset(priv, IWL_FW_RESET))
+					return;
 			}
 			}
-		} else if (priv->cfg->ops->lib->check_plcp_health) {
+		}
+		if (priv->cfg->ops->lib->check_plcp_health) {
 			if (!priv->cfg->ops->lib->check_plcp_health(
 			if (!priv->cfg->ops->lib->check_plcp_health(
 			    priv, pkt)) {
 			    priv, pkt)) {
 				/*
 				/*