Skip site navigation (1)Skip section navigation (2)
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>