Messages in this thread Patch in this message | | | Subject | [2.6.24-rc minor bugfix] IB/srp: release transport before removing host | From | Dave Dillow <> | Date | Thu, 03 Jan 2008 22:35:41 -0500 |
| |
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> ---
On Fri, 2008-01-04 at 11:54 +0900, FUJITA Tomonori wrote: > Linus has already merged your previous patch: [snip] > So please resend a patch to move srp_remove_host before > scsi_remove_host instead of adding srp_remove_host. [snip] > > Not sure if your Acked-by was for this one as well, so I left it off. > > Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 77e8b90..bdb6f85 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) list_for_each_entry_safe(target, tmp_target, &host->target_list, list) { - scsi_remove_host(target->scsi_host); srp_remove_host(target->scsi_host); + scsi_remove_host(target->scsi_host); srp_disconnect_target(target); ib_destroy_cm_id(target->cm_id); srp_free_target_ib(target);
| |