lib/nvme/vfio: destruct ctrlr in failed cases
Change-Id: Ie7d7ab25055c26ea1c2ae4997bf7197a170de989 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15005 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
f72f154719
commit
f20b99bbb3
@ -188,6 +188,7 @@ static struct spdk_nvme_ctrlr *
|
|||||||
ret = spdk_vfio_user_pci_bar_access(vctrlr->dev, VFIO_PCI_CONFIG_REGION_INDEX, 4, 2,
|
ret = spdk_vfio_user_pci_bar_access(vctrlr->dev, VFIO_PCI_CONFIG_REGION_INDEX, 4, 2,
|
||||||
&cmd_reg, false);
|
&cmd_reg, false);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
nvme_ctrlr_destruct(&pctrlr->ctrlr);
|
||||||
SPDK_ERRLOG("Read PCI CMD REG failed\n");
|
SPDK_ERRLOG("Read PCI CMD REG failed\n");
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
@ -195,11 +196,13 @@ static struct spdk_nvme_ctrlr *
|
|||||||
ret = spdk_vfio_user_pci_bar_access(vctrlr->dev, VFIO_PCI_CONFIG_REGION_INDEX, 4, 2,
|
ret = spdk_vfio_user_pci_bar_access(vctrlr->dev, VFIO_PCI_CONFIG_REGION_INDEX, 4, 2,
|
||||||
&cmd_reg, true);
|
&cmd_reg, true);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
nvme_ctrlr_destruct(&pctrlr->ctrlr);
|
||||||
SPDK_ERRLOG("Write PCI CMD REG failed\n");
|
SPDK_ERRLOG("Write PCI CMD REG failed\n");
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nvme_ctrlr_get_cap(&pctrlr->ctrlr, &cap)) {
|
if (nvme_ctrlr_get_cap(&pctrlr->ctrlr, &cap)) {
|
||||||
|
nvme_ctrlr_destruct(&pctrlr->ctrlr);
|
||||||
SPDK_ERRLOG("get_cap() failed\n");
|
SPDK_ERRLOG("get_cap() failed\n");
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user