summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2006-04-04 11:09:26 +0200
committerDominik Brodowski <linux@dominikbrodowski.net>2006-04-22 00:49:15 +0200
commita0aab14322a74ab5665704c6155bf48fbc38f445 (patch)
treeb0d46b3a01575da591444b404775a06af986d89d
parent90ff87008df12da7f2486178d0dee13745c1de6b (diff)
downloadlinux-a0aab14322a74ab5665704c6155bf48fbc38f445.tar.gz
linux-a0aab14322a74ab5665704c6155bf48fbc38f445.tar.bz2
linux-a0aab14322a74ab5665704c6155bf48fbc38f445.zip
[PATCH] pcmcia: do not set dev_node to NULL too early
If we set dev_node to NULL too early, some drivers which used this to determine whether unregister_netdev() needs to be called fail when removing a PCMCIA card. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--drivers/pcmcia/ds.c2
-rw-r--r--drivers/pcmcia/pcmcia_resource.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 7b7428c77d7a..0f98cab35186 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -476,6 +476,8 @@ static int pcmcia_device_remove(struct device * dev)
if (p_drv->remove)
p_drv->remove(p_dev);
+ p_dev->dev_node = NULL;
+
/* check for proper unloading */
if (p_dev->_irq || p_dev->_io || p_dev->_locked)
printk(KERN_INFO "pcmcia: driver %s did not release config properly\n",
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 45063b4e5b78..2539c0b23062 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -947,7 +947,5 @@ void pcmcia_disable_device(struct pcmcia_device *p_dev) {
pcmcia_release_irq(p_dev, &p_dev->irq);
if (&p_dev->win)
pcmcia_release_window(p_dev->win);
-
- p_dev->dev_node = NULL;
}
EXPORT_SYMBOL(pcmcia_disable_device);