DataItem->DataSize,\r
DataItem->Data.Ptr\r
);\r
- if (EFI_ERROR(Status) && Status != EFI_NOT_READY) {\r
- goto UNINSTALL_PROTOCOL;\r
+ if (Status == EFI_INVALID_PARAMETER || Status == EFI_BAD_BUFFER_SIZE) {\r
+ //\r
+ // Clean the invalid ManualAddress configuration.\r
+ //\r
+ Status = Ip6Cfg->SetData (\r
+ Ip6Cfg,\r
+ Ip6ConfigDataTypeManualAddress,\r
+ 0,\r
+ NULL\r
+ );\r
+ DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid ManualAddress configuration.\n"));\r
}\r
}\r
\r
DataItem->DataSize,\r
DataItem->Data.Ptr\r
);\r
- if (EFI_ERROR(Status)) {\r
- goto UNINSTALL_PROTOCOL;\r
+ if (Status == EFI_INVALID_PARAMETER || Status == EFI_BAD_BUFFER_SIZE) {\r
+ //\r
+ // Clean the invalid Gateway configuration.\r
+ //\r
+ Status = Ip6Cfg->SetData (\r
+ Ip6Cfg,\r
+ Ip6ConfigDataTypeGateway,\r
+ 0,\r
+ NULL\r
+ );\r
+ DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid Gateway configuration.\n"));\r
}\r
}\r
\r