From 6cc12fc4c12221ec1aa92ba24c6fe6e18a4c9c16 Mon Sep 17 00:00:00 2001 From: Mike Anderson Date: Thu, 16 Jun 2005 11:13:42 -0700 Subject: [PATCH] --- yaml --- r: 7647 b: refs/heads/master c: d2c9d9eafa03dbd08a8a439e6c5addb8b1f03b9b h: refs/heads/master i: 7645: 84bc87912ee1159f47ec95f1c62a273691b8a93c 7643: 5a2b036a1bb88f2829e39f6b6c80c086ab48f820 7639: 50841c0414c69958d2449e5c725fa762f9b24b06 7631: e54e6bf31c777e15afa0f9957daf371efe631472 7615: 7d956d5bb411081876cb62341d7bc1f2e8201900 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/hosts.c | 18 +----------------- trunk/drivers/scsi/scsi.c | 2 +- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/[refs] b/[refs] index 25ea2755c8ad..bb473fa6a0f3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d3301874083874f8a0ac88aa1bb7da6b62df34d2 +refs/heads/master: d2c9d9eafa03dbd08a8a439e6c5addb8b1f03b9b diff --git a/trunk/drivers/scsi/hosts.c b/trunk/drivers/scsi/hosts.c index 6828ca305c2a..67c4c0c3aa5e 100644 --- a/trunk/drivers/scsi/hosts.c +++ b/trunk/drivers/scsi/hosts.c @@ -127,30 +127,14 @@ int scsi_host_set_state(struct Scsi_Host *shost, enum scsi_host_state state) } EXPORT_SYMBOL(scsi_host_set_state); -/** - * scsi_host_cancel - cancel outstanding IO to this host - * @shost: pointer to struct Scsi_Host - * recovery: recovery requested to run. - **/ -static void scsi_host_cancel(struct Scsi_Host *shost, int recovery) -{ - struct scsi_device *sdev; - - scsi_host_set_state(shost, SHOST_CANCEL); - shost_for_each_device(sdev, shost) { - scsi_device_cancel(sdev, recovery); - } - wait_event(shost->host_wait, (shost->shost_state != SHOST_RECOVERY)); -} - /** * scsi_remove_host - remove a scsi host * @shost: a pointer to a scsi host to remove **/ void scsi_remove_host(struct Scsi_Host *shost) { + scsi_host_set_state(shost, SHOST_CANCEL); scsi_forget_host(shost); - scsi_host_cancel(shost, 0); scsi_proc_host_rm(shost); scsi_host_set_state(shost, SHOST_DEL); diff --git a/trunk/drivers/scsi/scsi.c b/trunk/drivers/scsi/scsi.c index fb85b3ced7b5..d1aa95d45a70 100644 --- a/trunk/drivers/scsi/scsi.c +++ b/trunk/drivers/scsi/scsi.c @@ -627,7 +627,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) spin_lock_irqsave(host->host_lock, flags); scsi_cmd_get_serial(host, cmd); - if (unlikely(host->shost_state == SHOST_CANCEL)) { + if (unlikely(host->shost_state == SHOST_DEL)) { cmd->result = (DID_NO_CONNECT << 16); scsi_done(cmd); } else {