Skip to content

Commit f1daef5

Browse files
pharlikarapop5
authored andcommitted
Fix while loop in delegated event API (#308)
## Description this commit introduced the bug de3cf0c#diff-516242aa392b05a93f0222ff1e534b10a1f905124a16abd5704fa938d6590b48R143 where the swtch case and if loop for return status were moved outside the while loop For details on how to complete these options and their meaning refer to [CONTRIBUTING.md](https://github.com/microsoft/mu/blob/HEAD/CONTRIBUTING.md). - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? - [ ] Backport to release branch? ## How This Was Tested Tested on arm platform ## Integration Instructions N/A (cherry picked from commit bd20dd8)
1 parent cadcaae commit f1daef5

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

ArmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c

+38-38
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,10 @@ DelegatedEventLoop (
144144
FfaEnabled = FeaturePcdGet (PcdFfaEnable);
145145
if (FfaEnabled) {
146146
Status = CpuDriverEntryPoint (
147-
EventCompleteSvcArgs->Arg0,
148-
EventCompleteSvcArgs->Arg6,
149-
EventCompleteSvcArgs->Arg3
150-
);
147+
EventCompleteSvcArgs->Arg0,
148+
EventCompleteSvcArgs->Arg6,
149+
EventCompleteSvcArgs->Arg3
150+
);
151151
if (EFI_ERROR (Status)) {
152152
DEBUG ((
153153
DEBUG_ERROR,
@@ -158,10 +158,10 @@ DelegatedEventLoop (
158158
}
159159
} else {
160160
Status = CpuDriverEntryPoint (
161-
EventCompleteSvcArgs->Arg0,
162-
EventCompleteSvcArgs->Arg3,
163-
EventCompleteSvcArgs->Arg1
164-
);
161+
EventCompleteSvcArgs->Arg0,
162+
EventCompleteSvcArgs->Arg3,
163+
EventCompleteSvcArgs->Arg1
164+
);
165165
if (EFI_ERROR (Status)) {
166166
DEBUG ((
167167
DEBUG_ERROR,
@@ -171,38 +171,38 @@ DelegatedEventLoop (
171171
));
172172
}
173173
}
174-
}
175174

176-
switch (Status) {
177-
case EFI_SUCCESS:
178-
SvcStatus = ARM_SVC_SPM_RET_SUCCESS;
179-
break;
180-
case EFI_INVALID_PARAMETER:
181-
SvcStatus = ARM_SVC_SPM_RET_INVALID_PARAMS;
182-
break;
183-
case EFI_ACCESS_DENIED:
184-
SvcStatus = ARM_SVC_SPM_RET_DENIED;
185-
break;
186-
case EFI_OUT_OF_RESOURCES:
187-
SvcStatus = ARM_SVC_SPM_RET_NO_MEMORY;
188-
break;
189-
case EFI_UNSUPPORTED:
190-
SvcStatus = ARM_SVC_SPM_RET_NOT_SUPPORTED;
191-
break;
192-
default:
193-
SvcStatus = ARM_SVC_SPM_RET_NOT_SUPPORTED;
194-
break;
195-
}
175+
switch (Status) {
176+
case EFI_SUCCESS:
177+
SvcStatus = ARM_SVC_SPM_RET_SUCCESS;
178+
break;
179+
case EFI_INVALID_PARAMETER:
180+
SvcStatus = ARM_SVC_SPM_RET_INVALID_PARAMS;
181+
break;
182+
case EFI_ACCESS_DENIED:
183+
SvcStatus = ARM_SVC_SPM_RET_DENIED;
184+
break;
185+
case EFI_OUT_OF_RESOURCES:
186+
SvcStatus = ARM_SVC_SPM_RET_NO_MEMORY;
187+
break;
188+
case EFI_UNSUPPORTED:
189+
SvcStatus = ARM_SVC_SPM_RET_NOT_SUPPORTED;
190+
break;
191+
default:
192+
SvcStatus = ARM_SVC_SPM_RET_NOT_SUPPORTED;
193+
break;
194+
}
196195

197-
if (FfaEnabled) {
198-
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
199-
EventCompleteSvcArgs->Arg1 = 0;
200-
EventCompleteSvcArgs->Arg2 = 0;
201-
EventCompleteSvcArgs->Arg3 = ARM_SVC_ID_SP_EVENT_COMPLETE;
202-
EventCompleteSvcArgs->Arg4 = SvcStatus;
203-
} else {
204-
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_SP_EVENT_COMPLETE;
205-
EventCompleteSvcArgs->Arg1 = SvcStatus;
196+
if (FfaEnabled) {
197+
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
198+
EventCompleteSvcArgs->Arg1 = 0;
199+
EventCompleteSvcArgs->Arg2 = 0;
200+
EventCompleteSvcArgs->Arg3 = ARM_SVC_ID_SP_EVENT_COMPLETE;
201+
EventCompleteSvcArgs->Arg4 = SvcStatus;
202+
} else {
203+
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_SP_EVENT_COMPLETE;
204+
EventCompleteSvcArgs->Arg1 = SvcStatus;
205+
}
206206
}
207207
}
208208

0 commit comments

Comments
 (0)