Date: Fri, 9 Sep 2011 22:11:10 -0600 From: Warner Losh <imp@bsdimp.com> To: Daniel Eischen <deischen@FreeBSD.ORG> Cc: adrian@FreeBSD.ORG, freebsd-current@FreeBSD.ORG, Warner Losh <imp@FreeBSD.ORG>, John Baldwin <jhb@FreeBSD.ORG> Subject: Re: ath0 no longer attaches, cardbus problems? Message-ID: <054D42C8-E7CD-4F4A-88CB-40841CF972EE@bsdimp.com> In-Reply-To: <Pine.GSO.4.64.1109091511450.16436@sea.ntplx.net> References: <Pine.GSO.4.64.1108242007100.23746@sea.ntplx.net> <201109080942.03413.jhb@freebsd.org> <Pine.GSO.4.64.1109081243320.10252@sea.ntplx.net> <201109081359.56584.jhb@freebsd.org> <Pine.GSO.4.64.1109081638370.10964@sea.ntplx.net> <Pine.GSO.4.64.1109091511450.16436@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 9, 2011, at 1:22 PM, Daniel Eischen wrote: > I found the commit that broke ath for me, r222753, > specifically, the change to /dev/cardbus/cardbus_cis.c. >=20 > To be sure, I updated to head using svn, and applied > the patch included below. ath attaches and works. Without > the patch, ath does not attach. >=20 > On another note, I've no idea why updating from a local > CVS repo lead me down a wrong path. It seems wrong that > a 'cvs update -P -d -A -D "31 Mar 2011"' works and > a 'cvs update -P -d -A -D "1 Apr 2011"' does not work. > r222753 did not occur until much later (June 6). > Once John asked me to try r220195, I switched to using > svn. When that worked, it seemed strange to me because > nothing else committed after that on Mar 31 should have > broke ath. >=20 > Anyway, culprit found. Now what is the correct fix? Do you need both chunks? The second one seems redundant given the = definition of bus_alloc_reosurce_any does exactly that. Warner >=20 >=20 > Index: sys/dev/cardbus/cardbus_cis.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/dev/cardbus/cardbus_cis.c (revision 225463) > +++ sys/dev/cardbus/cardbus_cis.c (working copy) > @@ -441,6 +441,7 @@ > { > if (res !=3D CIS_CONFIG_SPACE) { > bus_release_resource(child, SYS_RES_MEMORY, rid, res); > + bus_delete_resource(child, SYS_RES_MEMORY, rid); > } > } >=20 > @@ -477,7 +478,11 @@ > } >=20 > /* allocate the memory space to read CIS */ > +#if 0 > res =3D bus_alloc_resource_any(child, SYS_RES_MEMORY, rid, > +#else > + res =3D bus_alloc_resource(child, SYS_RES_MEMORY, rid, 0, ~0, 1, > +#endif > rman_make_alignment_flags(4096) | RF_ACTIVE); > if (res =3D=3D NULL) { > device_printf(cbdev, "Unable to allocate resource " >=20 > --=20 > DE >=20 >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?054D42C8-E7CD-4F4A-88CB-40841CF972EE>