aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ibmvscsi/ibmvscsi.c3
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);