return EFI_INVALID_PARAMETER;\r
}\r
\r
- if ((Type == EFI_IFR_TYPE_STRING) && (Value->string == 0)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
\r
Status = EFI_SUCCESS;\r
PrivateData = DRIVER_SAMPLE_PRIVATE_FROM_THIS (This);\r
break;\r
\r
case 0x2000:\r
+ //\r
+ // Only used to update the state.\r
+ //\r
+ if ((Type == EFI_IFR_TYPE_STRING) && (Value->string == 0) && \r
+ (PrivateData->PasswordState == BROWSER_STATE_SET_PASSWORD)) {\r
+ PrivateData->PasswordState = BROWSER_STATE_VALIDATE_PASSWORD;\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
//\r
// When try to set a new password, user will be chanlleged with old password.\r
// The Callback is responsible for validating old password input by user,\r