ipr scsi busy io hang
Subsystems (2)
Brian King
maintainerPATCH 1/3 ipr scsi busy io hang
James,
Here are a couple more ipr bug fixes. Please apply.
Thanks
Signature · 3 lines
Brian King eServer Storage I/O IBM Linux Technology Center
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(-)
drivers/scsi/ipr.c renamed from drivers/scsi/ipr.c~ipr_scsi_busy_io_hang +5 -1
@@ -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_ioaipr_erp_cancel_all (ipr_cmd);return ; } + res->needs_sync_complete =1 ;break ;case IPR_IOASC_NR_INIT_CMD_REQUIRED :break ;
_