mirror of https://github.com/acidanthera/audk.git
NetworkPkg/Ip4Dxe: Fix Reset To Default
Exercising reset to default does not reset the settings. Add handler code for the case where configuration is disabled. Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com> Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
parent
264636d8e6
commit
9d3fe85fcc
|
@ -586,6 +586,31 @@ Ip4Config2ConvertIfrNvDataToConfigNvData (
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IfrFormNvData->Configure != TRUE) {
|
if (IfrFormNvData->Configure != TRUE) {
|
||||||
|
if (Ip4NvData->DnsAddress != NULL) {
|
||||||
|
FreePool (Ip4NvData->DnsAddress);
|
||||||
|
Ip4NvData->DnsAddress = NULL;
|
||||||
|
Ip4NvData->DnsAddressCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ip4NvData->GatewayAddress != NULL) {
|
||||||
|
FreePool (Ip4NvData->GatewayAddress);
|
||||||
|
Ip4NvData->GatewayAddress = NULL;
|
||||||
|
Ip4NvData->GatewayAddressCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ip4NvData->ManualAddress != NULL) {
|
||||||
|
FreePool (Ip4NvData->ManualAddress);
|
||||||
|
Ip4NvData->ManualAddress = NULL;
|
||||||
|
Ip4NvData->ManualAddressCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Ip4NvData->Policy = Ip4Config2PolicyDhcp;
|
||||||
|
Status = Ip4Cfg2->SetData (
|
||||||
|
Ip4Cfg2,
|
||||||
|
Ip4Config2DataTypePolicy,
|
||||||
|
sizeof (EFI_IP4_CONFIG2_POLICY),
|
||||||
|
&Ip4NvData->Policy
|
||||||
|
);
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue