|
@@ -797,7 +797,8 @@ static void purge_requests(struct ibmvscsi_host_data *hostdata, int error_code)
|
|
evt->hostdata->dev);
|
|
evt->hostdata->dev);
|
|
if (evt->cmnd_done)
|
|
if (evt->cmnd_done)
|
|
evt->cmnd_done(evt->cmnd);
|
|
evt->cmnd_done(evt->cmnd);
|
|
- } else if (evt->done)
|
|
|
|
|
|
+ } else if (evt->done && evt->crq.format != VIOSRP_MAD_FORMAT &&
|
|
|
|
+ evt->iu.srp.login_req.opcode != SRP_LOGIN_REQ)
|
|
evt->done(evt);
|
|
evt->done(evt);
|
|
free_event_struct(&evt->hostdata->pool, evt);
|
|
free_event_struct(&evt->hostdata->pool, evt);
|
|
spin_lock_irqsave(hostdata->host->host_lock, flags);
|
|
spin_lock_irqsave(hostdata->host->host_lock, flags);
|