diff options
| author | Navdeep Parhar <np@FreeBSD.org> | 2014-11-12 23:29:22 +0000 |
|---|---|---|
| committer | Navdeep Parhar <np@FreeBSD.org> | 2014-11-12 23:29:22 +0000 |
| commit | 05c4567dd973cc81284f626dc0097ece97c3b19d (patch) | |
| tree | 29c93f764e3dc735854be6207a8a84fdfaea4e3a /sys/dev/cxgbe/t4_main.c | |
| parent | 794a349c6f54febe41eaab0d33f1c735c37b331b (diff) | |
Notes
Diffstat (limited to 'sys/dev/cxgbe/t4_main.c')
| -rw-r--r-- | sys/dev/cxgbe/t4_main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 4c141de4a5da..8089eb4cf053 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1590,7 +1590,9 @@ cxgbe_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) struct ifmedia *media = NULL; struct ifmedia_entry *cur; int speed = pi->link_cfg.speed; +#ifdef INVARIANTS int data = (pi->port_type << 8) | pi->mod_type; +#endif if (ifp == pi->ifp) media = &pi->media; @@ -1601,10 +1603,7 @@ cxgbe_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) MPASS(media != NULL); cur = media->ifm_cur; - if (cur->ifm_data != data) { - build_medialist(pi, media); - cur = media->ifm_cur; - } + MPASS(cur->ifm_data == data); ifmr->ifm_status = IFM_AVALID; if (!pi->link_cfg.link_ok) @@ -8005,6 +8004,11 @@ t4_os_portmod_changed(const struct adapter *sc, int idx) NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM" }; + build_medialist(pi, &pi->media); +#ifdef DEV_NETMAP + build_medialist(pi, &pi->nm_media); +#endif + if (pi->mod_type == FW_PORT_MOD_TYPE_NONE) if_printf(pi->ifp, "transceiver unplugged.\n"); else if (pi->mod_type == FW_PORT_MOD_TYPE_UNKNOWN) |
