diff options
| author | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-11-15 22:05:08 +0000 |
|---|---|---|
| committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-11-15 22:05:08 +0000 |
| commit | b0630da9adef300b16a3847589412499bdbbf0fe (patch) | |
| tree | ae7d5a5447f6bfe05c7d4e11c9b140b98e82cde1 /sys/dev/nfe | |
| parent | 6948a04f2c529a4e811dc1f5a5644df8ee5a7bce (diff) | |
Notes
Diffstat (limited to 'sys/dev/nfe')
| -rw-r--r-- | sys/dev/nfe/if_nfe.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c index a56bb9755919..c77a4da3c56b 100644 --- a/sys/dev/nfe/if_nfe.c +++ b/sys/dev/nfe/if_nfe.c @@ -804,7 +804,7 @@ nfe_can_use_msix(struct nfe_softc *sc) struct msix_blacklist *mblp; char *maker, *product; - int count, n; + int count, n, use_msix; /* * Search base board manufacturer and product name table @@ -812,18 +812,25 @@ nfe_can_use_msix(struct nfe_softc *sc) */ maker = getenv("smbios.planar.maker"); product = getenv("smbios.planar.product"); + use_msix = 1; if (maker != NULL && product != NULL) { count = sizeof(msix_blacklists) / sizeof(msix_blacklists[0]); mblp = msix_blacklists; for (n = 0; n < count; n++) { if (strcmp(maker, mblp->maker) == 0 && - strcmp(product, mblp->product) == 0) - return (0); + strcmp(product, mblp->product) == 0) { + use_msix = 0; + break; + } mblp++; } } + if (maker != NULL) + freeenv(maker); + if (product != NULL) + freeenv(product); - return (1); + return (use_msix); } |
