Date: Fri, 08 Jul 2011 01:48:35 -0700 From: Doug Barton <dougb@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: cardbus panic: end address is not aligned Message-ID: <4E16C463.9020604@FreeBSD.org> In-Reply-To: <201107071720.50203.jhb@freebsd.org> References: <4E100086.7080105@FreeBSD.org> <201107071720.50203.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07/07/2011 14:20, John Baldwin wrote: > On Sunday, July 03, 2011 1:39:18 am Doug Barton wrote: >> I have 2 ath-based pc-card adapters. If I put either one of them in the >> slot while the system is up, or if I try booting with them in the slot, >> I get an instant panic. The cards previously worked in -current, and >> continue to work in 8-stable and windows xp. I don't have any other >> pc-cards to compare with. Full core.txt.0 file is in my home directory >> on freefall. >> >> This problem persists on r223732 but happened to me for the first time a >> week or 2 ago (haven't had time to report it previously, apologies). It >> likely originated a while before though, I don't use these cards very >> often. >> >> panic: end address is not aligned >> >> #1 0xffffffff80426a8a in kern_reboot (howto=260) >> at /home/svn/head/sys/kern/kern_shutdown.c:430 >> #2 0xffffffff80426521 in panic (fmt=Variable "fmt" is not available. >> ) >> at /home/svn/head/sys/kern/kern_shutdown.c:604 >> #3 0xffffffff8032c648 in pcib_grow_window (sc=0xfffffe0002603400, >> w=0xfffffe0002603498, type=3, start=0, end=4294967295, count=65536, >> flags=Variable "flags" is not available. > > The line is here: > > KASSERT((w->limit & ((1ul << w->step) - 1)) == (1ul << w->step) - 1, > ("end address is not aligned")); > > Can you run kgdb and do 'frame 3' and 'p/x *w'? (kgdb) frame 3 #3 0xffffffff8032c648 in pcib_grow_window (sc=0xfffffe0002603400, w=0xfffffe0002603498, type=3, start=0, end=4294967295, count=65536, flags=Variable "flags" is not available. ) at /home/svn/head/sys/dev/pci/pci_pci.c:1018 1018 KASSERT((w->limit & ((1ul << w->step) - 1)) == (1ul << w->step) - 1, (kgdb) p/x *w $1 = {base = 0x80000000, limit = 0x8800ffff, rman = {rm_list = { tqh_first = 0xfffffe0002702a00, tqh_last = 0xfffffe0002702a98}, rm_mtx = 0xfffffe00024e20e0, rm_link = {tqe_next = 0xfffffe0002603520, tqe_prev = 0xfffffe0002603448}, rm_start = 0x0, rm_end = 0xffffffff, rm_type = 0x2, rm_descr = 0xfffffe0002608060}, res = 0xfffffe0002702b00, reg = 0x20, valid = 0x1, mask = 0x2, step = 0x14, name = 0xffffffff8071b77c} > Also, can you boot your machine, then do 'sysctl debug.bootverbose=1', insert > the card and record the messages in dmesg when it does? (You can likely get > those out of kgdb.) The system panics instantly when I insert the cards. Would a verbose dmesg entry from 8.2-stable work? I can do that on the same hardware. If not I can try it on -current and see if anything gets logged. Thanks for taking a look! Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E16C463.9020604>