Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 286239
b: refs/heads/master
c: 574e8b9
h: refs/heads/master
i:
  286237: 6bbbc35
  286235: 8449a19
  286231: 9329473
  286223: 2acc8f4
  286207: 9e886a4
v: v3
  • Loading branch information
Matthew Wilcox committed Nov 4, 2011
1 parent 1866deb commit 7ba2c60
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2930353f9f2b9e4629e935acd970cb73c1171229
refs/heads/master: 574e8b95bc3780e10e9b5e9d51074d503dd3d5d9
12 changes: 9 additions & 3 deletions trunk/drivers/block/nvme.c
Original file line number Diff line number Diff line change
Expand Up @@ -1088,7 +1088,7 @@ static void nvme_release_instance(struct nvme_dev *dev)
static int __devinit nvme_probe(struct pci_dev *pdev,
const struct pci_device_id *id)
{
int result = -ENOMEM;
int bars, result = -ENOMEM;
struct nvme_dev *dev;

dev = kzalloc(sizeof(*dev), GFP_KERNEL);
Expand All @@ -1106,6 +1106,9 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
if (pci_enable_device_mem(pdev))
goto free;
pci_set_master(pdev);
bars = pci_select_bars(pdev, IORESOURCE_MEM);
if (pci_request_selected_regions(pdev, bars, "nvme"))
goto disable;

INIT_LIST_HEAD(&dev->namespaces);
dev->pci_dev = pdev;
Expand All @@ -1118,7 +1121,7 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
dev->bar = ioremap(pci_resource_start(pdev, 0), 8192);
if (!dev->bar) {
result = -ENOMEM;
goto disable;
goto disable_msix;
}

result = nvme_configure_admin_queue(dev);
Expand All @@ -1135,10 +1138,12 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
nvme_free_queues(dev);
unmap:
iounmap(dev->bar);
disable:
disable_msix:
pci_disable_msix(pdev);
nvme_release_instance(dev);
disable:
pci_disable_device(pdev);
pci_release_regions(pdev);
free:
kfree(dev->queues);
kfree(dev->entry);
Expand All @@ -1154,6 +1159,7 @@ static void __devexit nvme_remove(struct pci_dev *pdev)
iounmap(dev->bar);
nvme_release_instance(dev);
pci_disable_device(pdev);
pci_release_regions(pdev);
kfree(dev->queues);
kfree(dev->entry);
kfree(dev);
Expand Down

0 comments on commit 7ba2c60

Please sign in to comment.