[PATCH v2.6.36-rc7] pcmcia: don't call flush_scheduled_work() spuriously
Tejun Heo
tj at kernel.org
Fri Oct 15 10:58:21 EDT 2010
au100_generic and soc_common call flush_scheduled_work() spuriously.
Remove them.
This is to prepare for the deprecation and removal of
flush_scheduled_work().
Signed-off-by: Tejun Heo <tj at kernel.org>
---
Am I missing something? The only pcmcia driver which uses the system
workqueue is vrc4173 which doesn't seem to depend on any of the above
and doesn't seem to implement removal properly anyway.
Thank you.
drivers/pcmcia/au1000_generic.c | 3 ---
drivers/pcmcia/soc_common.c | 4 ----
2 files changed, 7 deletions(-)
Index: work/drivers/pcmcia/au1000_generic.c
===================================================================
--- work.orig/drivers/pcmcia/au1000_generic.c
+++ work/drivers/pcmcia/au1000_generic.c
@@ -441,14 +441,12 @@ int au1x00_pcmcia_socket_probe(struct de
out_err:
- flush_scheduled_work();
ops->hw_shutdown(skt);
while (i-- > 0) {
skt = PCMCIA_SOCKET(i);
del_timer_sync(&skt->poll_timer);
pcmcia_unregister_socket(&skt->socket);
- flush_scheduled_work();
if (i == 0) {
iounmap(skt->virt_io + (u32)mips_io_port_base);
skt->virt_io = NULL;
@@ -480,7 +478,6 @@ int au1x00_drv_pcmcia_remove(struct plat
del_timer_sync(&skt->poll_timer);
pcmcia_unregister_socket(&skt->socket);
- flush_scheduled_work();
skt->ops->hw_shutdown(skt);
au1x00_pcmcia_config_skt(skt, &dead_socket);
iounmap(skt->virt_io + (u32)mips_io_port_base);
Index: work/drivers/pcmcia/soc_common.c
===================================================================
--- work.orig/drivers/pcmcia/soc_common.c
+++ work/drivers/pcmcia/soc_common.c
@@ -627,8 +627,6 @@ void soc_pcmcia_remove_one(struct soc_pc
pcmcia_unregister_socket(&skt->socket);
- flush_scheduled_work();
-
skt->ops->hw_shutdown(skt);
soc_common_pcmcia_config_skt(skt, &dead_socket);
@@ -720,8 +718,6 @@ int soc_pcmcia_add_one(struct soc_pcmcia
pcmcia_unregister_socket(&skt->socket);
out_err_7:
- flush_scheduled_work();
-
skt->ops->hw_shutdown(skt);
out_err_6:
list_del(&skt->node);
More information about the linux-pcmcia
mailing list