summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.de>2005-01-11 03:29:57 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-11 03:29:57 -0800
commit1c6f569af36e2b956cb5599d29879d97c2d08038 (patch)
tree76a4b35ac16067e74a6960b883e55c13942b323d /drivers
parent705f89d6b6f16159a94f66fc93a659b8161de91e (diff)
[PATCH] pcmcia: grab lock in resource_release
Also lock the ->exit() function in rsrc_nostatic Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pcmcia/rsrc_nonstatic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index 9d4457bbaf13..cbc3440d161c 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -791,6 +791,7 @@ static void nonstatic_release_resource_db(struct pcmcia_socket *s)
struct socket_data *data = s->resource_data;
struct resource_map *p, *q;
+ down(&rsrc_sem);
for (p = data->mem_db.next; p != &data->mem_db; p = q) {
q = p->next;
kfree(p);
@@ -799,6 +800,7 @@ static void nonstatic_release_resource_db(struct pcmcia_socket *s)
q = p->next;
kfree(p);
}
+ up(&rsrc_sem);
}