Date: Mon, 5 Dec 2011 21:38:45 +0000 (UTC) From: Marius Strobl <marius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r228290 - head/sys/dev/mii Message-ID: <201112052138.pB5LcjH0058889@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112052138.pB5LcjH0058889>