[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