From 227a6063c489db267b3cfdc2d3b7eea5fb6d5552 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 22 Feb 2008 10:40:45 -0800 Subject: [PATCH] --- yaml --- r: 87159 b: refs/heads/master c: 84ba284cd78c130818e2de53150f39b92504593b h: refs/heads/master i: 87157: 15280250f8d664641765d4cb60a5c5c9b035f0c7 87155: 256f061668a7ef563b6ce4c2433fb97f536a990d 87151: 43a7da6bdfe78870b0bf38a19fd74cc2ac108e07 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/core/cm.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d67500831825..9224022a1b29 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 18b8c8f170ce346b88884ebe4060cd6dbe64e1cc +refs/heads/master: 84ba284cd78c130818e2de53150f39b92504593b diff --git a/trunk/drivers/infiniband/core/cm.c b/trunk/drivers/infiniband/core/cm.c index b10ade92efed..4df405157086 100644 --- a/trunk/drivers/infiniband/core/cm.c +++ b/trunk/drivers/infiniband/core/cm.c @@ -3759,6 +3759,7 @@ static void cm_remove_one(struct ib_device *device) port = cm_dev->port[i-1]; ib_modify_port(device, port->port_num, 0, &port_modify); ib_unregister_mad_agent(port->mad_agent); + flush_workqueue(cm.wq); cm_remove_port_fs(port); } kobject_put(&cm_dev->dev_obj); @@ -3813,6 +3814,7 @@ static void __exit ib_cm_cleanup(void) cancel_delayed_work(&timewait_info->work.work); spin_unlock_irq(&cm.lock); + ib_unregister_client(&cm_client); destroy_workqueue(cm.wq); list_for_each_entry_safe(timewait_info, tmp, &cm.timewait_list, list) { @@ -3820,7 +3822,6 @@ static void __exit ib_cm_cleanup(void) kfree(timewait_info); } - ib_unregister_client(&cm_client); class_unregister(&cm_class); idr_destroy(&cm.local_id_table); }