aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2012-01-19 21:38:19 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2012-01-19 21:38:19 +0000
commitdf4ce32fcb21a5112453b57a04d924c9f5079e6a (patch)
treea4441448be9cda2db72fedc77cc5b361e415c895 /sys/dev/pci
parentd99ecc7db3ab16a541c34a399a0fad762aaad349 (diff)
downloadsrc-df4ce32fcb21a5112453b57a04d924c9f5079e6a.tar.gz
src-df4ce32fcb21a5112453b57a04d924c9f5079e6a.zip
Properly return success once a matching VPD entry is found in
pci_get_vpd_readonly_method(). Previously the loop was always running to completion and falling through to failing with ENXIO. PR: kern/164313 Submitted by: Chuck Tuffli chuck tuffli net MFC after: 1 week
Notes
Notes: svn path=/head/; revision=230340
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/pci.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index 9ebb8486913c..b4b67fb8969f 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1136,11 +1136,9 @@ pci_get_vpd_readonly_method(device_t dev, device_t child, const char *kw,
if (memcmp(kw, cfg->vpd.vpd_ros[i].keyword,
sizeof(cfg->vpd.vpd_ros[i].keyword)) == 0) {
*vptr = cfg->vpd.vpd_ros[i].value;
+ return (0);
}
- if (i != cfg->vpd.vpd_rocnt)
- return (0);
-
*vptr = NULL;
return (ENXIO);
}