diff --git a/[refs] b/[refs] index 46e70e8d91fa..2e6e8b9cc3ef 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9f28745a6b554fdd6b0dbc9856077701a55f9569 +refs/heads/master: 5af23d263c33a3f6fc93facfd87d2a091eff2060 diff --git a/trunk/drivers/scsi/ipr.c b/trunk/drivers/scsi/ipr.c index 4baa79e68679..fa6ff295e568 100644 --- a/trunk/drivers/scsi/ipr.c +++ b/trunk/drivers/scsi/ipr.c @@ -3954,6 +3954,13 @@ static int __ipr_eh_dev_reset(struct scsi_cmnd * scsi_cmd) spin_unlock_irq(scsi_cmd->device->host->host_lock); ata_do_eh(ap, NULL, NULL, ipr_sata_reset, NULL); spin_lock_irq(scsi_cmd->device->host->host_lock); + + list_for_each_entry(ipr_cmd, &ioa_cfg->pending_q, queue) { + if (ipr_cmd->ioarcb.res_handle == res->cfgte.res_handle) { + rc = -EIO; + break; + } + } } else rc = ipr_device_reset(ioa_cfg, res); res->resetting_device = 0;