diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2005-07-28 02:15:16 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2005-07-28 02:15:16 +0000 |
commit | 7af6159a89195af7dab9ac63d8196ba4f174c5b0 (patch) | |
tree | dd363b667671ffd640c543745fe966293d76ef5e | |
parent | 291939fec77534baf034b3a028306387ae0014ae (diff) |
rev 1.18
when there are multiple matches for the requested media, select the
first matching instance rather than the last one.
From chs NetBSD
-rw-r--r-- | sys/net/if_media.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/net/if_media.c b/sys/net/if_media.c index dcad56a2789..677b84feb52 100644 --- a/sys/net/if_media.c +++ b/sys/net/if_media.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_media.c,v 1.15 2005/07/09 21:23:45 brad Exp $ */ +/* $OpenBSD: if_media.c,v 1.16 2005/07/28 02:15:15 brad Exp $ */ /* $NetBSD: if_media.c,v 1.10 2000/03/13 23:52:39 soren Exp $ */ /*- @@ -362,12 +362,14 @@ ifmedia_match(struct ifmedia *ifm, u_int target, u_int mask) for (next = TAILQ_FIRST(&ifm->ifm_list); next != NULL; next = TAILQ_NEXT(next, ifm_list)) { if ((next->ifm_media & mask) == (target & mask)) { -#if defined(IFMEDIA_DEBUG) || defined(DIAGNOSTIC) if (match) { +#if defined(IFMEDIA_DEBUG) || defined(DIAGNOSTIC) printf("ifmedia_match: multiple match for " - "0x%x/0x%x\n", target, mask); - } + "0x%x/0x%x, selected instance %d\n", + target, mask, IFM_INST(match->ifm_media)); #endif + break; + } match = next; } } |