diff options
author | John Baldwin <jhb@FreeBSD.org> | 2012-01-19 21:38:19 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2012-01-19 21:38:19 +0000 |
commit | df4ce32fcb21a5112453b57a04d924c9f5079e6a (patch) | |
tree | a4441448be9cda2db72fedc77cc5b361e415c895 /sys/dev/pci | |
parent | d99ecc7db3ab16a541c34a399a0fad762aaad349 (diff) | |
download | src-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.c | 4 |
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); } |