1. 12 Dec, 2010 9 commits
    • Tejun Heo's avatar
      hostap: don't use flush_scheduled_work() · 16359533
      Tejun Heo authored
      flush_scheduled_work() is on its way out.  Drop flush_scheduled_work()
      from prism2_free_local_data() and replace it with explicit flushing of
      work items on the respective free functions.  Work items in ap_data
      are flushed from hostap_free_data() and the ones in local_info from
      prism2_free_local_data().
      
      Flush is used instead of cancel as some process and free items from
      queue.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jes Sorensen <jes@trained-monkey.org>
      Cc: netdev@vger.kernel.org
      16359533
    • Tejun Heo's avatar
      i2400m: drop i2400m_schedule_work() · 781ba456
      Tejun Heo authored
      i2400m implements dynamic work allocation and queueing mechanism in
      i2400_schedule_work(); however, this is only used for reset and
      recovery which can be served equally well with preallocated per device
      works.
      
      Replace i2400m_schedule_work() with two work structs in struct i2400m.
      These works are explicitly canceled when the device is released making
      calls to flush_scheduled_work(), which is being deprecated,
      unnecessary.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Cc: linux-wimax@intel.com
      Cc: netdev@vger.kernel.org
      781ba456
    • 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 31 commits