diff options
author | Johannes Thumshirn <jthumshirn@suse.de> | 2016-12-15 14:20:48 +0100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2016-12-21 11:34:25 +0100 |
commit | 17a1ec08ce7074f05795e5c32a3e5bc9a797bbf8 (patch) | |
tree | 0e31831c2502e15d1eeba1de56f2aa8cb27635a8 /drivers/nvme | |
parent | c703489885218900579279cec4b4ab8e7fce383b (diff) | |
download | talos-obmc-linux-17a1ec08ce7074f05795e5c32a3e5bc9a797bbf8.tar.gz talos-obmc-linux-17a1ec08ce7074f05795e5c32a3e5bc9a797bbf8.zip |
nvme/fc: simplify error handling of nvme_fc_create_hw_io_queues
Simplify the error handling of nvme_fc_create_hw_io_queues(), this saves us
one variable and one level of indentation.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviwed-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/nvme')
-rw-r--r-- | drivers/nvme/host/fc.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 827c2b57e5bb..aa0bc60810a7 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -1491,19 +1491,20 @@ static int nvme_fc_create_hw_io_queues(struct nvme_fc_ctrl *ctrl, u16 qsize) { struct nvme_fc_queue *queue = &ctrl->queues[1]; - int i, j, ret; + int i, ret; for (i = 1; i < ctrl->queue_count; i++, queue++) { ret = __nvme_fc_create_hw_queue(ctrl, queue, i, qsize); - if (ret) { - for (j = i-1; j >= 0; j--) - __nvme_fc_delete_hw_queue(ctrl, - &ctrl->queues[j], j); - return ret; - } + if (ret) + goto delete_queues; } return 0; + +delete_queues: + for (; i >= 0; i--) + __nvme_fc_delete_hw_queue(ctrl, &ctrl->queues[i], i); + return ret; } static int |