From: Dominik Brodowski Also lock the ->exit() function in rsrc_nostatic Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton --- 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); } _