diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp index 79dcd159d3d..fb5f0cb30fb 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp @@ -765,6 +765,7 @@ Error AidlComposer::execute() { auto status = mAidlComposerClient->executeCommands(commands, &results); if (!status.isOk()) { ALOGE("executeCommands failed %s", status.getDescription().c_str()); + mWriter.reset(); return static_cast(status.getServiceSpecificError()); } @@ -776,6 +777,7 @@ Error AidlComposer::execute() { const auto index = static_cast(cmdErr.commandIndex); if (index < 0 || index >= commands.size()) { ALOGE("invalid command index %zu", index); + mWriter.reset(); return Error::BAD_PARAMETER; }