public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] ipr scsi busy io hang
@ 2004-05-24 14:39 Brian King
  0 siblings, 0 replies; only message in thread
From: Brian King @ 2004-05-24 14:39 UTC (permalink / raw)
  To: James.Bottomley; +Cc: linux-scsi

[-- Attachment #1: Type: text/plain, Size: 132 bytes --]

James,

Here are a couple more ipr bug fixes. Please apply.

Thanks

-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center

[-- Attachment #2: ipr_scsi_busy_io_hang.patch --]
[-- Type: text/plain, Size: 1229 bytes --]


This patch fixes a hang in io that can occur when a device returns
scsi status other than a check condition.


---

 linux-2.6.6-bjking1/drivers/scsi/ipr.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -puN drivers/scsi/ipr.c~ipr_scsi_busy_io_hang drivers/scsi/ipr.c
--- linux-2.6.6/drivers/scsi/ipr.c~ipr_scsi_busy_io_hang	2004-05-23 21:35:28.000000000 -0500
+++ linux-2.6.6-bjking1/drivers/scsi/ipr.c	2004-05-23 21:40:15.000000000 -0500
@@ -2884,6 +2884,7 @@ static int ipr_slave_alloc(struct scsi_d
 		    (res->cfgte.res_addr.lun == sdev->lun)) {
 			res->sdev = sdev;
 			res->add_to_ml = 0;
+			res->in_erp = 0;
 			sdev->hostdata = res;
 			res->needs_sync_complete = 1;
 			break;
@@ -3435,8 +3436,10 @@ static void ipr_erp_done(struct ipr_cmnd
 		       SCSI_SENSE_BUFFERSIZE);
 	}
 
-	if (res)
+	if (res) {
 		res->needs_sync_complete = 1;
+		res->in_erp = 0;
+	}
 	ipr_unmap_sglist(ioa_cfg, ipr_cmd);
 	list_add_tail(&ipr_cmd->queue, &ioa_cfg->free_q);
 	scsi_cmd->scsi_done(scsi_cmd);
@@ -3756,6 +3759,7 @@ static void ipr_erp_start(struct ipr_ioa
 			ipr_erp_cancel_all(ipr_cmd);
 			return;
 		}
+		res->needs_sync_complete = 1;
 		break;
 	case IPR_IOASC_NR_INIT_CMD_REQUIRED:
 		break;

_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-05-24 14:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-24 14:39 [PATCH 1/3] ipr scsi busy io hang Brian King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox