mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-11 05:17:10 +09:00
ibmvscsi: Abort init sequence during error recovery
commit 9ee755974b upstream.
If a CRQ reset is triggered for some reason while in the middle
of performing VSCSI adapter initialization, we don't want to
call the done function for the initialization MAD commands as
this will only result in two threads attempting initialization
at the same time, resulting in failures.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Acked-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b1154a9206
commit
3d83a52d2e
@@ -797,7 +797,8 @@ static void purge_requests(struct ibmvscsi_host_data *hostdata, int error_code)
|
||||
evt->hostdata->dev);
|
||||
if (evt->cmnd_done)
|
||||
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);
|
||||
free_event_struct(&evt->hostdata->pool, evt);
|
||||
spin_lock_irqsave(hostdata->host->host_lock, flags);
|
||||
|
||||
Reference in New Issue
Block a user