Author: marius
Date: Mon Dec  5 21:38:45 2011
New Revision: 228290
URL: http://svn.freebsd.org/changeset/base/228290

Log:
  - In mii_attach(9) just set the driver for a newly added miibus(4) instance
    before calling bus_enumerate_hinted_children(9) (which is the minimum for
    this to work) instead of fully probing it so later on we can just call
    bus_generic_attach(9) on the parent of the miibus(4) instance. The latter
    is necessary in order to work around what seems to be a bzzarre race in
    newbus affecting a few machines since r227687, causing no driver being
    probed for the newly added miibus(4) instance. Presumably this is the
    same race that was the motivation for the work around done in r215348.
    Reported and tested by: yongari
  - Revert the removal of a static in r221913 in order to help compilers to
    produce more optimal code.

Modified:
  head/sys/dev/mii/mii.c

Modified: head/sys/dev/mii/mii.c
==============================================================================
--- head/sys/dev/mii/mii.c      Mon Dec  5 19:39:15 2011        (r228289)
+++ head/sys/dev/mii/mii.c      Mon Dec  5 21:38:45 2011        (r228290)
@@ -499,7 +499,7 @@ mii_attach(device_t dev, device_t *miibu
        free(children, M_TEMP);
 
        if (first != 0) {
-               rv = device_probe(*miibus);
+               rv = device_set_driver(*miibus, &miibus_driver);
                if (rv != 0)
                        goto fail;
                bus_enumerate_hinted_children(*miibus);
@@ -511,7 +511,7 @@ mii_attach(device_t dev, device_t *miibu
                        rv = ENXIO;
                        goto fail;
                }
-               rv = device_attach(*miibus);
+               rv = bus_generic_attach(dev);
                if (rv != 0)
                        goto fail;
 
@@ -626,7 +626,7 @@ mii_down(struct mii_data *mii)
 static unsigned char
 mii_bitreverse(unsigned char x)
 {
-       unsigned const char const nibbletab[16] = {
+       static unsigned const char const nibbletab[16] = {
                0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15
        };
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to