diff options
author | Chaitanya Kulkarni <kch@nvidia.com> | 2024-02-13 00:26:46 -0800 |
---|---|---|
committer | Keith Busch <kbusch@kernel.org> | 2024-02-13 08:16:10 -0800 |
commit | 79bd7eab8366b29eaa099908d5694cb473684b9d (patch) | |
tree | 5fab09e50e916e4fcc18c1cc50f5c7deb1e66aae /drivers/nvme | |
parent | 5f63a493b99c848ad5200402bebe26211e00025a (diff) | |
download | linux-79bd7eab8366b29eaa099908d5694cb473684b9d.tar.gz linux-79bd7eab8366b29eaa099908d5694cb473684b9d.tar.bz2 linux-79bd7eab8366b29eaa099908d5694cb473684b9d.zip |
nvme-fabrics: fix I/O connect error handling
In nvmf_connect_io_queue(), if connect I/O command fails, we log the
error and continue for authentication. This overrides error captured
from __nvme_submit_sync_cmd(), causing wrong return value.
Add goto out_free_data after logging connect error to fix the issue.
Fixes: f50fff73d620c ("nvme: implement In-Band authentication")
Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'drivers/nvme')
-rw-r--r-- | drivers/nvme/host/fabrics.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c index 3499acbf6a82..495c171daead 100644 --- a/drivers/nvme/host/fabrics.c +++ b/drivers/nvme/host/fabrics.c @@ -534,6 +534,7 @@ int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid) if (ret) { nvmf_log_connect_error(ctrl, ret, le32_to_cpu(res.u32), &cmd, data); + goto out_free_data; } result = le32_to_cpu(res.u32); if (result & (NVME_CONNECT_AUTHREQ_ATR | NVME_CONNECT_AUTHREQ_ASCR)) { |