From 00a068e95c6ca86d1d3fa3ce65f35e2989ad16e3 Mon Sep 17 00:00:00 2001 From: Frederik Deweerdt Date: Fri, 16 Feb 2007 01:27:15 -0800 Subject: [PATCH] --- yaml --- r: 48552 b: refs/heads/master c: fb4d64e78ceab77cf20f7796f74aa10ebe862032 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/lib/devres.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 500663b67116..632d8468d731 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5de611148c8370cbe50796ca5567ca624b99686 +refs/heads/master: fb4d64e78ceab77cf20f7796f74aa10ebe862032 diff --git a/trunk/lib/devres.c b/trunk/lib/devres.c index 2a668dd7cac7..eb38849aa717 100644 --- a/trunk/lib/devres.c +++ b/trunk/lib/devres.c @@ -274,21 +274,21 @@ int pcim_iomap_regions(struct pci_dev *pdev, u16 mask, const char *name) rc = pci_request_region(pdev, i, name); if (rc) - goto err_region; + goto err_inval; rc = -ENOMEM; if (!pcim_iomap(pdev, i, 0)) - goto err_iomap; + goto err_region; } return 0; - err_iomap: - pcim_iounmap(pdev, iomap[i]); err_region: pci_release_region(pdev, i); err_inval: while (--i >= 0) { + if (!(mask & (1 << i))) + continue; pcim_iounmap(pdev, iomap[i]); pci_release_region(pdev, i); }