diff options
author | Tejun Heo <tj@kernel.org> | 2010-12-12 10:45:14 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-12-12 10:45:14 -0500 |
commit | f5c35cc191afd08d660e6db0fecc9f431dc8f273 (patch) | |
tree | 74a6544921bec9a4c994846d3149729c1968a2be /drivers/net/ehea | |
parent | 3d6b892bcc4c810071e36d8aff25aa171f55f93d (diff) |
ehea: don't use flush_scheduled_work()
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: Tejun Heo <tj@kernel.org>
Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
Diffstat (limited to 'drivers/net/ehea')
-rw-r--r-- | drivers/net/ehea/ehea_main.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index d51def112d35..81e5b7b49e9e 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
@@ -3318,6 +3318,8 @@ out_err: | |||
3318 | static void ehea_shutdown_single_port(struct ehea_port *port) | 3318 | static void ehea_shutdown_single_port(struct ehea_port *port) |
3319 | { | 3319 | { |
3320 | struct ehea_adapter *adapter = port->adapter; | 3320 | struct ehea_adapter *adapter = port->adapter; |
3321 | |||
3322 | cancel_work_sync(&port->reset_task); | ||
3321 | unregister_netdev(port->netdev); | 3323 | unregister_netdev(port->netdev); |
3322 | ehea_unregister_port(port); | 3324 | ehea_unregister_port(port); |
3323 | kfree(port->mc_list); | 3325 | kfree(port->mc_list); |
@@ -3607,8 +3609,6 @@ static int __devexit ehea_remove(struct platform_device *dev) | |||
3607 | 3609 | ||
3608 | ehea_remove_device_sysfs(dev); | 3610 | ehea_remove_device_sysfs(dev); |
3609 | 3611 | ||
3610 | flush_scheduled_work(); | ||
3611 | |||
3612 | ibmebus_free_irq(adapter->neq->attr.ist1, adapter); | 3612 | ibmebus_free_irq(adapter->neq->attr.ist1, adapter); |
3613 | tasklet_kill(&adapter->neq_tasklet); | 3613 | tasklet_kill(&adapter->neq_tasklet); |
3614 | 3614 | ||
@@ -3797,7 +3797,6 @@ static void __exit ehea_module_exit(void) | |||
3797 | { | 3797 | { |
3798 | int ret; | 3798 | int ret; |
3799 | 3799 | ||
3800 | flush_scheduled_work(); | ||
3801 | driver_remove_file(&ehea_driver.driver, &driver_attr_capabilities); | 3800 | driver_remove_file(&ehea_driver.driver, &driver_attr_capabilities); |
3802 | ibmebus_unregister_driver(&ehea_driver); | 3801 | ibmebus_unregister_driver(&ehea_driver); |
3803 | unregister_reboot_notifier(&ehea_reboot_nb); | 3802 | unregister_reboot_notifier(&ehea_reboot_nb); |