Author: yongari
Date: Mon Oct 21 06:22:20 2013
New Revision: 256827
URL: http://svnweb.freebsd.org/changeset/base/256827

Log:
  Correct MAC revision bits. Previously it always cleared bit 20 and
  bit 21.

Modified:
  head/sys/dev/re/if_re.c
  head/sys/pci/if_rlreg.h

Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c     Mon Oct 21 06:04:39 2013        (r256826)
+++ head/sys/dev/re/if_re.c     Mon Oct 21 06:22:20 2013        (r256827)
@@ -1367,10 +1367,11 @@ re_attach(device_t dev)
                break;
        default:
                device_printf(dev, "Chip rev. 0x%08x\n", hwrev & 0x7c800000);
+               sc->rl_macrev = hwrev & 0x00700000;
                hwrev &= RL_TXCFG_HWREV;
                break;
        }
-       device_printf(dev, "MAC rev. 0x%08x\n", hwrev & 0x00700000);
+       device_printf(dev, "MAC rev. 0x%08x\n", sc->rl_macrev);
        while (hw_rev->rl_desc != NULL) {
                if (hw_rev->rl_rev == hwrev) {
                        sc->rl_type = hw_rev->rl_type;
@@ -1429,7 +1430,7 @@ re_attach(device_t dev)
                sc->rl_flags |= RL_FLAG_MACSLEEP;
                /* FALLTHROUGH */
        case RL_HWREV_8168C:
-               if ((hwrev & 0x00700000) == 0x00200000)
+               if (sc->rl_macrev == 0x00200000)
                        sc->rl_flags |= RL_FLAG_MACSLEEP;
                /* FALLTHROUGH */
        case RL_HWREV_8168CP:

Modified: head/sys/pci/if_rlreg.h
==============================================================================
--- head/sys/pci/if_rlreg.h     Mon Oct 21 06:04:39 2013        (r256826)
+++ head/sys/pci/if_rlreg.h     Mon Oct 21 06:22:20 2013        (r256827)
@@ -877,6 +877,7 @@ struct rl_softc {
        bus_dma_tag_t           rl_parent_tag;
        uint8_t                 rl_type;
        const struct rl_hwrev   *rl_hwrev;
+       uint32_t                rl_macrev;
        int                     rl_eecmd_read;
        int                     rl_eewidth;
        int                     rl_expcap;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to