nvmet: fix error flow in nvmet_alloc_ctrl()
Remove the allocated id on error. Signed-off-by: Israel Rukshin <israelr@mellanox.com> Reviewed-by: Max Gurtovoy <maxg@mellanox.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
6fbcde6691
commit
eca19dc1d8
1 changed files with 3 additions and 1 deletions
|
@ -830,7 +830,7 @@ u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,
|
|||
/* Don't accept keep-alive timeout for discovery controllers */
|
||||
if (kato) {
|
||||
status = NVME_SC_INVALID_FIELD | NVME_SC_DNR;
|
||||
goto out_free_sqs;
|
||||
goto out_remove_ida;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -860,6 +860,8 @@ u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,
|
|||
*ctrlp = ctrl;
|
||||
return 0;
|
||||
|
||||
out_remove_ida:
|
||||
ida_simple_remove(&cntlid_ida, ctrl->cntlid);
|
||||
out_free_sqs:
|
||||
kfree(ctrl->sqs);
|
||||
out_free_cqs:
|
||||
|
|
Loading…
Reference in a new issue