X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=IntelFrameworkModulePkg%2FUniversal%2FBdsDxe%2FDeviceMngr%2FDeviceManager.c;fp=IntelFrameworkModulePkg%2FUniversal%2FBdsDxe%2FDeviceMngr%2FDeviceManager.c;h=1857ffa0a1c93789eb3120db9f983e3a30e01f5e;hb=d88f86f154ddbe39355fcf0aca03438f219b2660;hp=40d93c5ae007c43a6482d451257607f98f249cf6;hpb=d664f8a25c2966326a5e153516395dd1925be806;p=mirror_edk2.git diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c index 40d93c5ae0..1857ffa0a1 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c @@ -141,37 +141,36 @@ DeviceManagerCallback ( ) { UINTN CurIndex; + + if (Action == EFI_BROWSER_ACTION_CHANGING) { + if ((Value == NULL) || (ActionRequest == NULL)) { + return EFI_INVALID_PARAMETER; + } + + gCallbackKey = QuestionId; + if ((QuestionId < MAX_KEY_SECTION_LEN + NETWORK_DEVICE_LIST_KEY_OFFSET) && (QuestionId >= NETWORK_DEVICE_LIST_KEY_OFFSET)) { + // + // If user select the mac address, need to record mac address string to support next form show. + // + for (CurIndex = 0; CurIndex < mMacDeviceList.CurListLen; CurIndex ++) { + if (mMacDeviceList.NodeList[CurIndex].QuestionId == QuestionId) { + mSelectedMacAddrString = HiiGetString (gDeviceManagerPrivate.HiiHandle, mMacDeviceList.NodeList[CurIndex].PromptId, NULL); + } + } + } - if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) { // - // Do nothing for UEFI OPEN/CLOSE Action + // Request to exit SendForm(), so as to switch to selected form // - return EFI_SUCCESS; - } + *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT; - if ((Value == NULL) || (ActionRequest == NULL)) { - return EFI_INVALID_PARAMETER; + return EFI_SUCCESS; } - gCallbackKey = QuestionId; - - if ((QuestionId < MAX_KEY_SECTION_LEN + NETWORK_DEVICE_LIST_KEY_OFFSET) && (QuestionId >= NETWORK_DEVICE_LIST_KEY_OFFSET)) { - // - // If user select the mac address, need to record mac address string to support next form show. - // - for (CurIndex = 0; CurIndex < mMacDeviceList.CurListLen; CurIndex ++) { - if (mMacDeviceList.NodeList[CurIndex].QuestionId == QuestionId) { - mSelectedMacAddrString = HiiGetString (gDeviceManagerPrivate.HiiHandle, mMacDeviceList.NodeList[CurIndex].PromptId, NULL); - } - } - } - // - // Request to exit SendForm(), so as to switch to selected form + // All other action return unsupported. // - *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT; - - return EFI_SUCCESS; + return EFI_UNSUPPORTED; } /** @@ -1109,25 +1108,25 @@ DriverHealthCallback ( OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest ) { - if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) { + if (Action == EFI_BROWSER_ACTION_CHANGING) { + if ((Value == NULL) || (ActionRequest == NULL)) { + return EFI_INVALID_PARAMETER; + } + + gCallbackKey = QuestionId; + // - // Do nothing for UEFI OPEN/CLOSE Action + // Request to exit SendForm(), so as to switch to selected form // - return EFI_SUCCESS; - } + *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT; - if ((Value == NULL) || (ActionRequest == NULL)) { - return EFI_INVALID_PARAMETER; + return EFI_SUCCESS; } - gCallbackKey = QuestionId; - // - // Request to exit SendForm(), so as to switch to selected form + // All other action return unsupported. // - *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT; - - return EFI_SUCCESS; + return EFI_UNSUPPORTED; } /**