summaryrefslogtreecommitdiffstats
path: root/FatPkg/EnhancedFatDxe
diff options
context:
space:
mode:
Diffstat (limited to 'FatPkg/EnhancedFatDxe')
-rw-r--r--FatPkg/EnhancedFatDxe/Fat.h6
-rw-r--r--FatPkg/EnhancedFatDxe/Init.c10
-rw-r--r--FatPkg/EnhancedFatDxe/Misc.c16
3 files changed, 17 insertions, 15 deletions
diff --git a/FatPkg/EnhancedFatDxe/Fat.h b/FatPkg/EnhancedFatDxe/Fat.h
index 56822f723a..1b1d424637 100644
--- a/FatPkg/EnhancedFatDxe/Fat.h
+++ b/FatPkg/EnhancedFatDxe/Fat.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2005 - 2009, Intel Corporation
+Copyright (c) 2005 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@@ -783,8 +783,8 @@ FatReleaseLock (
VOID
);
-BOOLEAN
-FatIsLocked (
+EFI_STATUS
+FatAcquireLockOrFail (
VOID
);
diff --git a/FatPkg/EnhancedFatDxe/Init.c b/FatPkg/EnhancedFatDxe/Init.c
index b0e34d18cd..e18ff54474 100644
--- a/FatPkg/EnhancedFatDxe/Init.c
+++ b/FatPkg/EnhancedFatDxe/Init.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2005 - 2007, Intel Corporation
+Copyright (c) 2005 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@@ -64,8 +64,8 @@ Returns:
// Acquire the lock.
// If caller has already acquired the lock, cannot lock it again.
//
- if (!FatIsLocked ()) {
- FatAcquireLock ();
+ Status = FatAcquireLockOrFail ();
+ if (!EFI_ERROR (Status)) {
LockedByMe = TRUE;
}
//
@@ -180,9 +180,9 @@ Returns:
// means we are in the process of some Fat operation),
// we can not acquire again.
//
- if (!FatIsLocked ()) {
+ Status = FatAcquireLockOrFail ();
+ if (!EFI_ERROR (Status)) {
LockedByMe = TRUE;
- FatAcquireLock ();
}
//
// The volume is still being used. Hence, set error flag for all OFiles still in
diff --git a/FatPkg/EnhancedFatDxe/Misc.c b/FatPkg/EnhancedFatDxe/Misc.c
index a06914fd19..8774ac8c11 100644
--- a/FatPkg/EnhancedFatDxe/Misc.c
+++ b/FatPkg/EnhancedFatDxe/Misc.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2005, Intel Corporation
+Copyright (c) 2005 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@@ -140,15 +140,17 @@ Returns:
EfiAcquireLock (&FatFsLock);
}
-BOOLEAN
-FatIsLocked (
+EFI_STATUS
+FatAcquireLockOrFail (
VOID
)
/*++
Routine Description:
- Get the locking status of the volume.
+ Lock the volume.
+ If the lock is already in the acquired state, then EFI_ACCESS_DENIED is returned.
+ Otherwise, EFI_SUCCESS is returned.
Arguments:
@@ -156,12 +158,12 @@ Arguments:
Returns:
- TRUE - The volume is locked.
- FALSE - The volume is not locked.
+ EFI_SUCCESS - The volume is locked.
+ EFI_ACCESS_DENIED - The volume could not be locked because it is already locked.
--*/
{
- return (BOOLEAN) (FatFsLock.Lock);
+ return EfiAcquireLockOrFail (&FatFsLock);
}
VOID