summary refs log tree commit diff
path: root/arch/ia64
diff options
context:
space:
mode:
authorRoel Kluin <12o3l@tiscali.nl>2007-10-29 14:32:30 -0700
committerTony Luck <tony.luck@intel.com>2007-10-29 14:32:30 -0700
commit41f667f213da4776e5883ce1e4188dc8e71f275e (patch)
treeaef8600092bf01dd8151e44a67ce0985eda56811 /arch/ia64
parent346f3799c7785938cf152e36b9127e1153c146e4 (diff)
downloadlinux-41f667f213da4776e5883ce1e4188dc8e71f275e.tar.gz
[IA64] arch/ia64/sn/kernel/mca.c: undo lock when sn_oemdata can't be extended
Clean up locking state in failure path.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Cc: Jes Sorensen <jes@trained-monkey.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/sn/kernel/mca.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/ia64/sn/kernel/mca.c b/arch/ia64/sn/kernel/mca.c
index 3db62f24596c..868c9aa64fe2 100644
--- a/arch/ia64/sn/kernel/mca.c
+++ b/arch/ia64/sn/kernel/mca.c
@@ -98,6 +98,7 @@ sn_platform_plat_specific_err_print(const u8 * sect_header, u8 ** oemdata,
 	while (*sn_oemdata_size > sn_oemdata_bufsize) {
 		u8 *newbuf = vmalloc(*sn_oemdata_size);
 		if (!newbuf) {
+			mutex_unlock(&sn_oemdata_mutex);
 			printk(KERN_ERR "%s: unable to extend sn_oemdata\n",
 			       __FUNCTION__);
 			return 1;