aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>2006-11-25 11:09:17 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-11-25 13:28:33 -0800
commit8e4d9dcb4205dd43c4297168022ed0c6874fb918 (patch)
tree8888ae6ab859134eeb2b4ac40a826f39fe31eff8
parent1abbfb412b1610ec3a7ec0164108cee01191d9f5 (diff)
downloadlinux-stericsson-8e4d9dcb4205dd43c4297168022ed0c6874fb918.tar.gz
[PATCH] fix "pcmcia: fix 'rmmod pcmcia' with unbound devices"
Add required locking to dfbc9e9d33adb1ac9910dd7f8ceb911947039a52 Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Pavol Gono <Palo.Gono@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/pcmcia/ds.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index a20d84d707d9..21d83a895b21 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -1272,7 +1272,9 @@ static void pcmcia_bus_remove_socket(struct class_device *class_dev,
pccard_register_pcmcia(socket, NULL);
/* unregister any unbound devices */
+ mutex_lock(&socket->skt_mutex);
pcmcia_card_remove(socket, NULL);
+ mutex_unlock(&socket->skt_mutex);
pcmcia_put_socket(socket);