/** @file\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2007, Intel Corporation \r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
goto ERROR_EXIT;\r
}\r
\r
- //\r
- // Init the lock.\r
- //\r
- NET_LOCK_INIT (&ArpService->Lock);\r
-\r
//\r
// Init the lists.\r
//\r
ARP_SERVICE_DATA *ArpService;\r
ARP_INSTANCE_DATA *Instance;\r
VOID *Mnp;\r
+ EFI_TPL OldTpl;\r
\r
if ((This == NULL) || (ChildHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
goto ERROR;\r
}\r
\r
- if (EFI_ERROR (NET_TRYLOCK (&ArpService->Lock))) {\r
-\r
- Status = EFI_ACCESS_DENIED;\r
- goto ERROR;\r
- }\r
+ OldTpl = NET_RAISE_TPL (NET_TPL_LOCK);\r
\r
//\r
// Insert the instance into children list managed by the arp service context data.\r
NetListInsertTail (&ArpService->ChildrenList, &Instance->List);\r
ArpService->ChildrenNumber++;\r
\r
- NET_UNLOCK (&ArpService->Lock);\r
+ NET_RESTORE_TPL (OldTpl);\r
\r
ERROR:\r
\r
ARP_SERVICE_DATA *ArpService;\r
ARP_INSTANCE_DATA *Instance;\r
EFI_ARP_PROTOCOL *Arp;\r
+ EFI_TPL OldTpl;\r
\r
if ((This == NULL) || (ChildHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
return Status;\r
}\r
\r
- if (EFI_ERROR (NET_TRYLOCK (&ArpService->Lock))) {\r
- Instance->Destroyed = FALSE;\r
- return EFI_ACCESS_DENIED;\r
- }\r
+ OldTpl = NET_RAISE_TPL (NET_TPL_LOCK);\r
\r
if (Instance->Configured) {\r
//\r
NetListRemoveEntry (&Instance->List);\r
ArpService->ChildrenNumber--;\r
\r
- NET_UNLOCK (&ArpService->Lock);\r
+ NET_RESTORE_TPL (OldTpl);\r
\r
NetFreePool (Instance);\r
\r