summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2010-04-09 13:42:58 +0200
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-04-09 13:43:01 +0200
commitd7015c120e0ac55d86cabbe7a14997b99f39e282 (patch)
tree4b7dba31afe720577fb32efa37e1b07942de2c91 /arch/s390
parentd620a7cf05d4f12f5bbb1060d766e8139ab31458 (diff)
downloadlinux-d7015c120e0ac55d86cabbe7a14997b99f39e282.tar.gz
linux-d7015c120e0ac55d86cabbe7a14997b99f39e282.tar.bz2
linux-d7015c120e0ac55d86cabbe7a14997b99f39e282.zip
[S390] arch/s390/kernel: Add missing unlock
In the default case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irq (E1,...); ... when != E1 * return ...; ...+> } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/topology.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
index 14ef6f05e432..247b4c2d1e51 100644
--- a/arch/s390/kernel/topology.c
+++ b/arch/s390/kernel/topology.c
@@ -165,10 +165,11 @@ static void tl_to_cores(struct tl_info *info)
default:
clear_cores();
machine_has_topology = 0;
- return;
+ goto out;
}
tle = next_tle(tle);
}
+out:
spin_unlock_irq(&topology_lock);
}