mwifiex: do not return success when command times out
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 30 Apr 2015 23:52:02 +0000 (16:52 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 9 May 2015 13:47:34 +0000 (16:47 +0300)
wait_event_interruptible_timeout() returns 0 upon timeout. We should
convert it to a negative error code (such as -ETIMEDOUT) instead of
returning it directly, as return code of 0 indicates that command was
executed.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mwifiex/sta_ioctl.c

index 0599e41e253c740ca912f18b38fc05e58decef5f..a0bc26c5eac09fdaaccdb583ef52945f68f123dc 100644 (file)
@@ -64,6 +64,8 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter,
                                                  *(cmd_queued->condition),
                                                  (12 * HZ));
        if (status <= 0) {
+               if (status == 0)
+                       status = -ETIMEDOUT;
                dev_err(adapter->dev, "cmd_wait_q terminated: %d\n", status);
                mwifiex_cancel_all_pending_cmd(adapter);
                return status;