diff options
author | Julia Lawall <julia@diku.dk> | 2010-04-09 13:42:58 +0200 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-04-09 13:43:01 +0200 |
commit | d7015c120e0ac55d86cabbe7a14997b99f39e282 (patch) | |
tree | 4b7dba31afe720577fb32efa37e1b07942de2c91 /arch | |
parent | d620a7cf05d4f12f5bbb1060d766e8139ab31458 (diff) | |
download | linux-stable-d7015c120e0ac55d86cabbe7a14997b99f39e282.tar.gz linux-stable-d7015c120e0ac55d86cabbe7a14997b99f39e282.tar.bz2 linux-stable-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')
-rw-r--r-- | arch/s390/kernel/topology.c | 3 |
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); } |