ath9k: Return early for error conditions
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Fri, 30 Jan 2015 13:35:22 +0000 (19:05 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 3 Feb 2015 13:30:55 +0000 (15:30 +0200)
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>
drivers/net/wireless/ath/ath9k/wow.c

index 4ffaadd167a86a653a2c71f33580a17f4f6caf52..1d5cd88783bd459d8a9e8605cf32a9c04b339784 100644 (file)
@@ -197,21 +197,21 @@ int ath9k_suspend(struct ieee80211_hw *hw,
 
        mutex_lock(&sc->mutex);
 
-       ath_cancel_work(sc);
-       ath_stop_ani(sc);
-
        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;
        }
 
        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;
                goto fail_wow;
        }
 
+       ath_cancel_work(sc);
+       ath_stop_ani(sc);
+
        if (!device_can_wakeup(sc->dev)) {
                ath_dbg(common, WOW, "device_can_wakeup failed, WoW is not enabled\n");
                ret = 1;