drivers/net: don't use flush_scheduled_work()
authorTejun Heo <tj@kernel.org>
Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)
committerTejun Heo <tj@kernel.org>
Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)
commit23f333a2bfafba80339315b724808982a9de57d9
tree55819e6a8eeb9c2d34b42c77e7e38f7f6571baf9
parent6e07ebd84eef00be9e169a6d15a0bc20b06578fa
drivers/net: don't use flush_scheduled_work()

flush_scheduled_work() is on its way out.  This patch contains simple
conversions to replace flush_scheduled_work() usage with direct
cancels and flushes.

Directly cancel the used works on driver detach and flush them in
other cases.

The conversions are mostly straight forward and the only dangers are,

* Forgetting to cancel/flush one or more used works.

* Cancelling when a work should be flushed (ie. the work must be
  executed once scheduled whether the driver is detaching or not).

I've gone over the changes multiple times but it would be much
appreciated if you can review with the above points in mind.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: Divy Le Ray <divy@chelsio.com>
Cc: e1000-devel@lists.sourceforge.net
Cc: Vasanthy Kolluri <vkolluri@cisco.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Andrew Gallatin <gallatin@myri.com>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
Cc: Matt Carlson <mcarlson@broadcom.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
Cc: netdev@vger.kernel.org
23 files changed:
drivers/net/8139too.c
drivers/net/atlx/atl2.c
drivers/net/bcm63xx_enet.c
drivers/net/bnx2.c
drivers/net/cassini.c
drivers/net/cxgb3/cxgb3_main.c
drivers/net/e1000e/netdev.c
drivers/net/enic/enic_main.c
drivers/net/ibm_newemac/core.c
drivers/net/irda/mcs7780.c
drivers/net/ixgb/ixgb_main.c
drivers/net/ixgbevf/ixgbevf_main.c
drivers/net/mv643xx_eth.c
drivers/net/myri10ge/myri10ge.c
drivers/net/niu.c
drivers/net/pxa168_eth.c
drivers/net/r8169.c
drivers/net/s2io.c
drivers/net/sis190.c
drivers/net/tg3.c
drivers/net/usb/sierra_net.c
drivers/net/usb/usbnet.c
drivers/net/vmxnet3/vmxnet3_drv.c