svn commit: r228290 - head/sys/dev/mii
Marius Strobl
marius at FreeBSD.org
Mon Dec 5 21:38:46 UTC 2011
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
};
More information about the svn-src-head
mailing list