diff options
author | Daniel Ritz <daniel.ritz-ml@swissonline.ch> | 2006-11-19 01:19:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-11-20 12:42:05 -0500 |
commit | dfbc9e9d33adb1ac9910dd7f8ceb911947039a52 (patch) | |
tree | 755da8c537361af066b5072c43f32aa4384b62bf /drivers/pcmcia | |
parent | 610a5b742e9df4e59047f22d13d8bd83cafce388 (diff) |
[PATCH] pcmcia: fix 'rmmod pcmcia' with unbound devices
Having unbound PCMCIA devices: doing a 'find /sys' after a 'rmmod pcmcia'
gives an oops because the pcmcia_device is not unregisterd from the driver
core.
fixes bugzilla #7481
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
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>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/ds.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 0f701921c13..a20d84d707d 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c | |||
@@ -1271,6 +1271,9 @@ static void pcmcia_bus_remove_socket(struct class_device *class_dev, | |||
1271 | socket->pcmcia_state.dead = 1; | 1271 | socket->pcmcia_state.dead = 1; |
1272 | pccard_register_pcmcia(socket, NULL); | 1272 | pccard_register_pcmcia(socket, NULL); |
1273 | 1273 | ||
1274 | /* unregister any unbound devices */ | ||
1275 | pcmcia_card_remove(socket, NULL); | ||
1276 | |||
1274 | pcmcia_put_socket(socket); | 1277 | pcmcia_put_socket(socket); |
1275 | 1278 | ||
1276 | return; | 1279 | return; |