* [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 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.