aboutsummaryrefslogtreecommitdiffstats
path: root/arch
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
parent[IA64] update sn2 defconfig to 64kb pages (diff)
downloadlinux-dev-41f667f213da4776e5883ce1e4188dc8e71f275e.tar.xz
linux-dev-41f667f213da4776e5883ce1e4188dc8e71f275e.zip
[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')
-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;