diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-08-19 07:11:53 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-08-19 07:11:53 +0200 |
| commit | e70c971d7d8ac5b19fea1c2fde0290bcf7881946 (patch) | |
| tree | d022e67b2141b48cfc0ac5b6245588c7f23c6c67 /drivers/nvme/target/core.c | |
| parent | a3c59cf2971088c4bf889d8c093990ebf59fb789 (diff) | |
| parent | d1abaeb3be7b5fa6d7a1fbbd2e14e3310005c4c1 (diff) | |
| download | blackbird-op-linux-e70c971d7d8ac5b19fea1c2fde0290bcf7881946.tar.gz blackbird-op-linux-e70c971d7d8ac5b19fea1c2fde0290bcf7881946.zip | |
Merge 5.3-rc5 into char-misc-next
We need the char/misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nvme/target/core.c')
| -rw-r--r-- | drivers/nvme/target/core.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c index dad0243c7c96..3a67e244e568 100644 --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c @@ -46,6 +46,9 @@ inline u16 errno_to_nvme_status(struct nvmet_req *req, int errno) u16 status; switch (errno) { + case 0: + status = NVME_SC_SUCCESS; + break; case -ENOSPC: req->error_loc = offsetof(struct nvme_rw_command, length); status = NVME_SC_CAP_EXCEEDED | NVME_SC_DNR; @@ -280,6 +283,18 @@ void nvmet_unregister_transport(const struct nvmet_fabrics_ops *ops) } EXPORT_SYMBOL_GPL(nvmet_unregister_transport); +void nvmet_port_del_ctrls(struct nvmet_port *port, struct nvmet_subsys *subsys) +{ + struct nvmet_ctrl *ctrl; + + mutex_lock(&subsys->lock); + list_for_each_entry(ctrl, &subsys->ctrls, subsys_entry) { + if (ctrl->port == port) + ctrl->ops->delete_ctrl(ctrl); + } + mutex_unlock(&subsys->lock); +} + int nvmet_enable_port(struct nvmet_port *port) { const struct nvmet_fabrics_ops *ops; |

