+\r
+ //\r
+ // Read the config data from NV variable again. \r
+ // The default data can be changed by other drivers.\r
+ //\r
+ Status = Ip4Config2ReadConfigData (IpSb->MacString, &IpSb->Ip4Config2Instance);\r
+ if (EFI_ERROR (Status)) {\r
+ goto UNINSTALL_PROTOCOL;\r
+ }\r
+ \r
+ //\r
+ // Consume the installed EFI_IP4_CONFIG2_PROTOCOL to set the default data items. \r
+ //\r
+ for (Index = Ip4Config2DataTypePolicy; Index < Ip4Config2DataTypeMaximum; Index++) {\r
+ DataItem = &IpSb->Ip4Config2Instance.DataItem[Index];\r
+ if (DataItem->Data.Ptr != NULL) {\r
+ Status = Ip4Cfg2->SetData (\r
+ Ip4Cfg2,\r
+ Index,\r
+ DataItem->DataSize,\r
+ DataItem->Data.Ptr\r
+ );\r
+ if (EFI_ERROR(Status)) {\r
+ goto UNINSTALL_PROTOCOL;\r
+ }\r
+ \r
+ if (Index == Ip4Config2DataTypePolicy && (*(DataItem->Data.Policy) == Ip4Config2PolicyDhcp)) {\r
+ break;\r
+ } \r
+ }\r
+ }\r