summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorsilby <silby@FreeBSD.org>2003-03-19 01:48:14 +0000
committersilby <silby@FreeBSD.org>2003-03-19 01:48:14 +0000
commitd5aaad74dc97ba47b165ab4490d284b9fa526ce5 (patch)
tree46660d13bad28cff49fa4b1c1eb7af774e51f1cb /sys/pci
parentfe604951dbf2fbd17d784c76896295716308e5db (diff)
downloadFreeBSD-src-d5aaad74dc97ba47b165ab4490d284b9fa526ce5.zip
FreeBSD-src-d5aaad74dc97ba47b165ab4490d284b9fa526ce5.tar.gz
Make sure to free the correct resources when the card fails to attach
properly. (Broken in the previous commit.) Noticed by: "Niels Chr. Bank-Pedersen" <ncbp@bank-pedersen.dk>
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/if_xl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/pci/if_xl.c b/sys/pci/if_xl.c
index 2077c3c..e7a11bf 100644
--- a/sys/pci/if_xl.c
+++ b/sys/pci/if_xl.c
@@ -1738,6 +1738,14 @@ fail_fres:
bus_release_resource(dev, SYS_RES_MEMORY, XL_PCI_FUNCMEM,
sc->xl_fres);
fail_res:
+ if (sc->xl_flags & XL_FLAG_USE_MMIO) {
+ rid = XL_PCI_LOMEM;
+ res = SYS_RES_MEMORY;
+ } else {
+ rid = XL_PCI_LOIO;
+ res = SYS_RES_IOPORT;
+ }
+
bus_release_resource(dev, res, rid, sc->xl_res);
fail:
XL_UNLOCK(sc);
OpenPOWER on IntegriCloud