diff options
Diffstat (limited to 'drivers/pcmcia/pxa2xx_base.c')
-rw-r--r-- | drivers/pcmcia/pxa2xx_base.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index 0e35acb1366b..8a91106056fc 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c | |||
@@ -297,7 +297,16 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev) | |||
297 | 297 | ||
298 | static int pxa2xx_drv_pcmcia_remove(struct platform_device *dev) | 298 | static int pxa2xx_drv_pcmcia_remove(struct platform_device *dev) |
299 | { | 299 | { |
300 | return soc_common_drv_pcmcia_remove(&dev->dev); | 300 | struct skt_dev_info *sinfo = platform_get_drvdata(dev); |
301 | int i; | ||
302 | |||
303 | platform_set_drvdata(dev, NULL); | ||
304 | |||
305 | for (i = 0; i < sinfo->nskt; i++) | ||
306 | soc_pcmcia_remove_one(&sinfo->skt[i]); | ||
307 | |||
308 | kfree(sinfo); | ||
309 | return 0; | ||
301 | } | 310 | } |
302 | 311 | ||
303 | static int pxa2xx_drv_pcmcia_suspend(struct device *dev) | 312 | static int pxa2xx_drv_pcmcia_suspend(struct device *dev) |