aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/au1000_generic.c3
-rw-r--r--drivers/pcmcia/soc_common.c4
2 files changed, 0 insertions, 7 deletions
diff --git a/drivers/pcmcia/au1000_generic.c b/drivers/pcmcia/au1000_generic.c
index 88c4c4098789..95dd7c62741f 100644
--- a/drivers/pcmcia/au1000_generic.c
+++ b/drivers/pcmcia/au1000_generic.c
@@ -441,14 +441,12 @@ int au1x00_pcmcia_socket_probe(struct device *dev, struct pcmcia_low_level *ops,
441 441
442 442
443out_err: 443out_err:
444 flush_scheduled_work();
445 ops->hw_shutdown(skt); 444 ops->hw_shutdown(skt);
446 while (i-- > 0) { 445 while (i-- > 0) {
447 skt = PCMCIA_SOCKET(i); 446 skt = PCMCIA_SOCKET(i);
448 447
449 del_timer_sync(&skt->poll_timer); 448 del_timer_sync(&skt->poll_timer);
450 pcmcia_unregister_socket(&skt->socket); 449 pcmcia_unregister_socket(&skt->socket);
451 flush_scheduled_work();
452 if (i == 0) { 450 if (i == 0) {
453 iounmap(skt->virt_io + (u32)mips_io_port_base); 451 iounmap(skt->virt_io + (u32)mips_io_port_base);
454 skt->virt_io = NULL; 452 skt->virt_io = NULL;
@@ -480,7 +478,6 @@ int au1x00_drv_pcmcia_remove(struct platform_device *dev)
480 478
481 del_timer_sync(&skt->poll_timer); 479 del_timer_sync(&skt->poll_timer);
482 pcmcia_unregister_socket(&skt->socket); 480 pcmcia_unregister_socket(&skt->socket);
483 flush_scheduled_work();
484 skt->ops->hw_shutdown(skt); 481 skt->ops->hw_shutdown(skt);
485 au1x00_pcmcia_config_skt(skt, &dead_socket); 482 au1x00_pcmcia_config_skt(skt, &dead_socket);
486 iounmap(skt->virt_io + (u32)mips_io_port_base); 483 iounmap(skt->virt_io + (u32)mips_io_port_base);
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index 6f1a86b43c60..689e3c02edb8 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -627,8 +627,6 @@ void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt)
627 627
628 pcmcia_unregister_socket(&skt->socket); 628 pcmcia_unregister_socket(&skt->socket);
629 629
630 flush_scheduled_work();
631
632 skt->ops->hw_shutdown(skt); 630 skt->ops->hw_shutdown(skt);
633 631
634 soc_common_pcmcia_config_skt(skt, &dead_socket); 632 soc_common_pcmcia_config_skt(skt, &dead_socket);
@@ -720,8 +718,6 @@ int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt)
720 pcmcia_unregister_socket(&skt->socket); 718 pcmcia_unregister_socket(&skt->socket);
721 719
722 out_err_7: 720 out_err_7:
723 flush_scheduled_work();
724
725 skt->ops->hw_shutdown(skt); 721 skt->ops->hw_shutdown(skt);
726 out_err_6: 722 out_err_6:
727 list_del(&skt->node); 723 list_del(&skt->node);