diff options
Diffstat (limited to 'drivers/nvme/host/pci.c')
-rw-r--r-- | drivers/nvme/host/pci.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 022ea1ee63f8..7fee665ec45e 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c | |||
@@ -2560,15 +2560,15 @@ static void nvme_reset_work(struct work_struct *work) | |||
2560 | mutex_lock(&dev->shutdown_lock); | 2560 | mutex_lock(&dev->shutdown_lock); |
2561 | result = nvme_pci_enable(dev); | 2561 | result = nvme_pci_enable(dev); |
2562 | if (result) | 2562 | if (result) |
2563 | goto out; | 2563 | goto out_unlock; |
2564 | 2564 | ||
2565 | result = nvme_pci_configure_admin_queue(dev); | 2565 | result = nvme_pci_configure_admin_queue(dev); |
2566 | if (result) | 2566 | if (result) |
2567 | goto out; | 2567 | goto out_unlock; |
2568 | 2568 | ||
2569 | result = nvme_alloc_admin_tags(dev); | 2569 | result = nvme_alloc_admin_tags(dev); |
2570 | if (result) | 2570 | if (result) |
2571 | goto out; | 2571 | goto out_unlock; |
2572 | 2572 | ||
2573 | /* | 2573 | /* |
2574 | * Limit the max command size to prevent iod->sg allocations going | 2574 | * Limit the max command size to prevent iod->sg allocations going |
@@ -2651,6 +2651,8 @@ static void nvme_reset_work(struct work_struct *work) | |||
2651 | nvme_start_ctrl(&dev->ctrl); | 2651 | nvme_start_ctrl(&dev->ctrl); |
2652 | return; | 2652 | return; |
2653 | 2653 | ||
2654 | out_unlock: | ||
2655 | mutex_unlock(&dev->shutdown_lock); | ||
2654 | out: | 2656 | out: |
2655 | nvme_remove_dead_ctrl(dev, result); | 2657 | nvme_remove_dead_ctrl(dev, result); |
2656 | } | 2658 | } |