1. 12 Dec, 2010 7 commits
    • Tejun Heo's avatar
      sungem: update gp->reset_task flushing · fe8998c5
      Tejun Heo authored
      gp->reset_task_pending is always set right before reset_task is
      scheduled and as there is no synchronization between the setting and
      scheduling, busy looping on reset_task_pending before flushing
      reset_task doesn't really buy anything.
      
      Directly flush gp->reset_task on suspend and cancel on detach.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      fe8998c5
    • Tejun Heo's avatar
      igb[v],ixgbe: don't use flush_scheduled_work() · 760141a5
      Tejun Heo authored
      All three drivers use flush_scheduled_work() similarly during driver
      detach.  Replace it with explicit cancels.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: e1000-devel@lists.sourceforge.net
      Cc: netdev@vger.kernel.org
      760141a5
    • Tejun Heo's avatar
      iseries_veth: don't use flush_scheduled_work() · 9beb4896
      Tejun Heo authored
      flush_scheduled_work() is on its way out.  Remove its usage from
      iseries_veth.
      
      * Cancelling a delayed work, queueing it for immediate execution if
        cancelled and then waiting for completion can be done by simply
        calling flush_delayed_work_sync().
      
      * Explicitly cancel cnx->statemachine_wq on module unload.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Santiago Leon <santil@linux.vnet.ibm.com>
      Cc: netdev@vger.kernel.org
      9beb4896
    • Tejun Heo's avatar
      ehea: don't use flush_scheduled_work() · f5c35cc1
      Tejun Heo authored
      Directly cancel port->reset_task from ehea_shutdown_single_port()
      instead.  As this cancels the work for each port on driver detach,
      flushing system_wq from ehea_remove() or ehea_module_exit() is no
      longer necessary.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
      Cc: netdev@vger.kernel.org
      f5c35cc1
    • Tejun Heo's avatar
      ehea: kill unused ehea_rereg_mr_task · 3d6b892b
      Tejun Heo authored
      ehea_rereg_mr_task is not used.  Remove it and drop @work parameter
      from ehea_rereg_mrs().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
      Cc: netdev@vger.kernel.org
      3d6b892b
    • Tejun Heo's avatar
      drivers/net: don't use flush_scheduled_work() · 23f333a2
      Tejun Heo authored
      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: default avatarTejun 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
      23f333a2
    • Tejun Heo's avatar
      drivers/net: remove unnecessary flush_scheduled_work() calls · 6e07ebd8
      Tejun Heo authored
      janz-ican3, sh_eth, skge and vxge don't use workqueue at all and there
      is no reason to flush the system_wq.  Drop flush_scheduled_work()
      calls and references to workqueue.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
      Cc: Sivakumar Subramani <sivakumar.subramani@exar.com>
      Cc: Sreenivasa Honnur <sreenivasa.honnur@exar.com>
      Cc: Jon Mason <jon.mason@exar.com>
      Cc: netdev@vger.kernel.org
      6e07ebd8
  2. 11 Dec, 2010 33 commits