All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Andrew Vasquez <andrew.vasquez@qlogic.com>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-scsi@vger.kernel.org,
	Duane Grigsby <duane.grigsby@qlogic.com>
Subject: Re: eh_active checks in qla2xxx error handling
Date: Fri, 28 Oct 2005 23:48:23 +0100	[thread overview]
Message-ID: <20051028224823.GA13887@infradead.org> (raw)
In-Reply-To: <20050920202553.GJ19002@plap.qlogic.org>

On Tue, Sep 20, 2005 at 01:25:53PM -0700, Andrew Vasquez wrote:
> On Tue, 06 Sep 2005, Christoph Hellwig wrote:
> 
> > qla2xxx is the only driver looking at eh_active, and doing the wait
> > for oustanding commands only from EH thread resets but not from the
> > ioctls looks rather wrong to me.  Do you remember the rational for it?
> 
> As Duane mentioned, this looks to be some residual from the 2.4 era
> which unfortunately I've yet to find a reasonably valid justification
> for...Alas, another loss of history...
> 
> ---
> Here's a patch which drops the eh_active checks in the qla2xxx
> eh_handler callbacks.
> 
> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>

James, can you put this patch in?  I have a patch pending that depends
on it.


diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -797,29 +797,19 @@ qla2xxx_eh_device_reset(struct scsi_cmnd
 		goto eh_dev_reset_done;
 	}
 
-	/*
-	 * If we are coming down the EH path, wait for all commands to
-	 * complete for the device.
-	 */
-	if (cmd->device->host->eh_active) {
-		if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
-			ret = FAILED;
-
-		if (ret == FAILED) {
-			DEBUG3(printk("%s(%ld): failed while waiting for "
-			    "commands\n", __func__, ha->host_no));
-			qla_printk(KERN_INFO, ha,
-			    "%s: failed while waiting for commands\n",
-			    __func__);
-
-			goto eh_dev_reset_done;
-		}
-	}
-
-	qla_printk(KERN_INFO, ha,
-	    "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no, id, lun);
+	/* Flush outstanding commands. */
+	if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
+		ret = FAILED;
+	if (ret == FAILED) {
+		DEBUG3(printk("%s(%ld): failed while waiting for commands\n",
+		    __func__, ha->host_no));
+		qla_printk(KERN_INFO, ha,
+		    "%s: failed while waiting for commands\n", __func__);
+	} else
+		qla_printk(KERN_INFO, ha,
+		    "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no,
+		    id, lun);
 
-eh_dev_reset_done:
 	return ret;
 }
 
@@ -921,10 +911,9 @@ qla2xxx_eh_bus_reset(struct scsi_cmnd *c
 	if (ret == FAILED)
 		goto eh_bus_reset_done;
 
-	/* Waiting for our command in done_queue to be returned to OS.*/
-	if (cmd->device->host->eh_active)
-		if (!qla2x00_eh_wait_for_pending_commands(ha))
-			ret = FAILED;
+	/* Flush outstanding commands. */
+	if (!qla2x00_eh_wait_for_pending_commands(ha))
+		ret = FAILED;
 
 eh_bus_reset_done:
 	qla_printk(KERN_INFO, ha, "%s: reset %s\n", __func__,
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2005-10-28 22:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-06 12:20 eh_active checks in qla2xxx error handling Christoph Hellwig
2005-09-19 20:04 ` Christoph Hellwig
2005-09-20 20:25 ` Andrew Vasquez
2005-10-28 22:48   ` Christoph Hellwig [this message]
  -- strict thread matches above, loose matches on Subject: below --
2005-09-19 20:47 Duane Grigsby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051028224823.GA13887@infradead.org \
    --to=hch@infradead.org \
    --cc=andrew.vasquez@qlogic.com \
    --cc=duane.grigsby@qlogic.com \
    --cc=hch@lst.de \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.