From: Dominik Brodowski <linux@dominikbrodowski.de>

Also lock the ->exit() function in rsrc_nostatic

Signed-off-by: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/pcmcia/rsrc_nonstatic.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/pcmcia/rsrc_nonstatic.c~pcmcia-grab-lock-in-resource_release drivers/pcmcia/rsrc_nonstatic.c
--- 25/drivers/pcmcia/rsrc_nonstatic.c~pcmcia-grab-lock-in-resource_release	Thu Dec 23 15:09:46 2004
+++ 25-akpm/drivers/pcmcia/rsrc_nonstatic.c	Thu Dec 23 15:09:46 2004
@@ -791,6 +791,7 @@ static void nonstatic_release_resource_d
 	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_d
 		q = p->next;
 		kfree(p);
 	}
+	up(&rsrc_sem);
 }
 
 
_