From aeae3de947fa0b1e670c8472b32288962f97b4f5 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Thu, 2 Sep 2010 11:56:55 -0700 Subject: Fix problem in AudioEffect::command() status. The *pReplyData argument of the command() function was left unitialized by EffectHandle::command() when command was EFFECT_CMD_ENABLE, EFFECT_CMD_DISABLE and EFFECT_CMD_SET_PARAM_COMMIT. Change-Id: I91a19817ead2a8cfbdd8e2d77ca270c7ce9d5bd4 --- services/audioflinger/AudioFlinger.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 1acdaaf..3770b55 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -5992,12 +5992,14 @@ status_t AudioFlinger::EffectHandle::command(uint32_t cmdCode, p, &rsize, &reply); - if (ret == NO_ERROR) { - if (reply != NO_ERROR) { - status = reply; - } - } else { + // stop at first error encountered + if (ret != NO_ERROR) { status = ret; + *(int *)pReplyData = reply; + break; + } else if (reply != NO_ERROR) { + *(int *)pReplyData = reply; + break; } mCblk->serverIndex += size; } @@ -6005,8 +6007,10 @@ status_t AudioFlinger::EffectHandle::command(uint32_t cmdCode, mCblk->clientIndex = 0; return status; } else if (cmdCode == EFFECT_CMD_ENABLE) { + *(int *)pReplyData = NO_ERROR; return enable(); } else if (cmdCode == EFFECT_CMD_DISABLE) { + *(int *)pReplyData = NO_ERROR; return disable(); } -- cgit v1.1