diff options
| -rw-r--r-- | drivers/scsi/ibmvscsi/ibmvscsi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c index 2ebfb2bb0f42..9caf9a979659 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c | |||
| @@ -797,7 +797,8 @@ static void purge_requests(struct ibmvscsi_host_data *hostdata, int error_code) | |||
| 797 | evt->hostdata->dev); | 797 | evt->hostdata->dev); |
| 798 | if (evt->cmnd_done) | 798 | if (evt->cmnd_done) |
| 799 | evt->cmnd_done(evt->cmnd); | 799 | evt->cmnd_done(evt->cmnd); |
| 800 | } else if (evt->done) | 800 | } else if (evt->done && evt->crq.format != VIOSRP_MAD_FORMAT && |
| 801 | evt->iu.srp.login_req.opcode != SRP_LOGIN_REQ) | ||
| 801 | evt->done(evt); | 802 | evt->done(evt); |
| 802 | free_event_struct(&evt->hostdata->pool, evt); | 803 | free_event_struct(&evt->hostdata->pool, evt); |
| 803 | spin_lock_irqsave(hostdata->host->host_lock, flags); | 804 | spin_lock_irqsave(hostdata->host->host_lock, flags); |
