Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[cascardo/linux.git] / drivers / net / wireless / ath / carl9170 / usb.c
index 76842e6..99ab203 100644 (file)
@@ -670,6 +670,7 @@ int carl9170_exec_cmd(struct ar9170 *ar, const enum carl9170_cmd_oids cmd,
        ar->readlen = outlen;
        spin_unlock_bh(&ar->cmd_lock);
 
+       reinit_completion(&ar->cmd_wait);
        err = __carl9170_exec_cmd(ar, &ar->cmd, false);
 
        if (!(cmd & CARL9170_CMD_ASYNC_FLAG)) {
@@ -778,10 +779,7 @@ void carl9170_usb_stop(struct ar9170 *ar)
        spin_lock_bh(&ar->cmd_lock);
        ar->readlen = 0;
        spin_unlock_bh(&ar->cmd_lock);
-       complete_all(&ar->cmd_wait);
-
-       /* This is required to prevent an early completion on _start */
-       reinit_completion(&ar->cmd_wait);
+       complete(&ar->cmd_wait);
 
        /*
         * Note: