diff options
| author | Dominik Brodowski <linux@dominikbrodowski.de> | 2005-01-11 03:29:57 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-11 03:29:57 -0800 |
| commit | 1c6f569af36e2b956cb5599d29879d97c2d08038 (patch) | |
| tree | 76a4b35ac16067e74a6960b883e55c13942b323d /drivers | |
| parent | 705f89d6b6f16159a94f66fc93a659b8161de91e (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.c | 2 |
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); } |
