nvme-core: add missing fault-injection cleanup
authorChaitanya Kulkarni <kch@nvidia.com>
Fri, 28 Apr 2023 07:31:14 +0000 (00:31 -0700)
committerKeith Busch <kbusch@kernel.org>
Mon, 12 Jun 2023 17:33:02 +0000 (10:33 -0700)
Add missing fault-injection cleanup in nvme_init_ctrl() in the error
unwind path that also fixes following message for blktests:-

linux-block (for-next) # grep debugfs debugfs-err.log
[  147.853464] debugfs: Directory 'nvme1' with parent '/' already present!
[  147.853973] nvme1: failed to create debugfs attr
[  148.802490] debugfs: Directory 'nvme1' with parent '/' already present!
[  148.803244] nvme1: failed to create debugfs attr
[  148.877304] debugfs: Directory 'nvme1' with parent '/' already present!
[  148.877775] nvme1: failed to create debugfs attr
[  149.816652] debugfs: Directory 'nvme1' with parent '/' already present!
[  149.818011] nvme1: failed to create debugfs attr

Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c

index 49800d6..2013e75 100644 (file)
@@ -5201,6 +5201,7 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
 
        return 0;
 out_free_cdev:
+       nvme_fault_inject_fini(&ctrl->fault_inject);
        cdev_device_del(&ctrl->cdev, ctrl->device);
 out_free_name:
        nvme_put_ctrl(ctrl);