From 2a9dbd9df1cbae00c57baa0c20907a80661be2a5 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Mon, 27 Aug 2007 09:32:49 +0800 Subject: [PATCH 27/31] iwlwifi: fix iwl_send_cmd_async return value bug This patch fixes iwl_send_cmd_async return value so that it turns 0 on success and non-zero value on failure. Signed-off-by: Zhu Yi --- drivers/net/wireless/iwl-base.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/iwl-base.c b/drivers/net/wireless/iwl-base.c index 32a963e..6cee62d 100644 --- a/drivers/net/wireless/iwl-base.c +++ b/drivers/net/wireless/iwl-base.c @@ -760,6 +760,8 @@ static int __iwl_send_cmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) int iwl_send_cmd_async(struct iwl_priv *priv, struct iwl_host_cmd *cmd) { + int ret; + BUG_ON(!(cmd->meta.flags & CMD_ASYNC)); /* An asynchronous command can not expect an SKB to be set. */ @@ -771,7 +773,11 @@ int iwl_send_cmd_async(struct iwl_priv *priv, struct iwl_host_cmd *cmd) if (test_bit(STATUS_EXIT_PENDING, &priv->status)) return -EBUSY; - return __iwl_send_cmd(priv, cmd); + ret = __iwl_send_cmd(priv, cmd); + if (ret < 0) + return ret; + + return 0; } int iwl_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd) -- 1.5.2