Ver Fonte

ath9k: Return early for error conditions

Do not try to cancel work instances and ANI when
the device is not present or WOW triggers are
not configured. Bail out early and use ath_err()
for such error conditions.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Sujith Manoharan há 10 anos atrás
pai
commit
13084c2d18
1 ficheiros alterados com 6 adições e 6 exclusões
  1. 6 6
      drivers/net/wireless/ath/ath9k/wow.c

+ 6 - 6
drivers/net/wireless/ath/ath9k/wow.c

@@ -197,21 +197,21 @@ int ath9k_suspend(struct ieee80211_hw *hw,
 
 
 	mutex_lock(&sc->mutex);
 	mutex_lock(&sc->mutex);
 
 
-	ath_cancel_work(sc);
-	ath_stop_ani(sc);
-
 	if (test_bit(ATH_OP_INVALID, &common->op_flags)) {
 	if (test_bit(ATH_OP_INVALID, &common->op_flags)) {
-		ath_dbg(common, ANY, "Device not present\n");
-		ret = -EINVAL;
+		ath_err(common, "Device not present\n");
+		ret = -ENODEV;
 		goto fail_wow;
 		goto fail_wow;
 	}
 	}
 
 
 	if (WARN_ON(!wowlan)) {
 	if (WARN_ON(!wowlan)) {
-		ath_dbg(common, WOW, "None of the WoW triggers enabled\n");
+		ath_err(common, "None of the WoW triggers enabled\n");
 		ret = -EINVAL;
 		ret = -EINVAL;
 		goto fail_wow;
 		goto fail_wow;
 	}
 	}
 
 
+	ath_cancel_work(sc);
+	ath_stop_ani(sc);
+
 	if (!device_can_wakeup(sc->dev)) {
 	if (!device_can_wakeup(sc->dev)) {
 		ath_dbg(common, WOW, "device_can_wakeup failed, WoW is not enabled\n");
 		ath_dbg(common, WOW, "device_can_wakeup failed, WoW is not enabled\n");
 		ret = 1;
 		ret = 1;