diff options
author | Dave Dillow <dillowda@ornl.gov> | 2008-01-03 22:35:41 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-01-08 15:08:10 -0500 |
commit | ad696989b4a2fce8494964814376aef41da3ff55 (patch) | |
tree | 0eb3f2655c76ca8a92e7f2996b41fea4ee90d90e /drivers/infiniband/ulp | |
parent | e1bb7843e4c25e6e331890a2ca512581e844bbaa (diff) |
IB/srp: Release transport before removing host
The documented call sequence for removing a host is to call the
transport xxx_remove_host() prior to scsi_remove_host(). The SRP
transport used to crash when that order was followed, but as it is now
fixed, use the documented order.
Signed-off-by: David Dillow <dillowda@ornl.gov>
Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/ulp')
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 77e8b90dfbff..bdb6f8517401 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -2053,8 +2053,8 @@ static void srp_remove_one(struct ib_device *device) | |||
2053 | 2053 | ||
2054 | list_for_each_entry_safe(target, tmp_target, | 2054 | list_for_each_entry_safe(target, tmp_target, |
2055 | &host->target_list, list) { | 2055 | &host->target_list, list) { |
2056 | scsi_remove_host(target->scsi_host); | ||
2057 | srp_remove_host(target->scsi_host); | 2056 | srp_remove_host(target->scsi_host); |
2057 | scsi_remove_host(target->scsi_host); | ||
2058 | srp_disconnect_target(target); | 2058 | srp_disconnect_target(target); |
2059 | ib_destroy_cm_id(target->cm_id); | 2059 | ib_destroy_cm_id(target->cm_id); |
2060 | srp_free_target_ib(target); | 2060 | srp_free_target_ib(target); |