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