Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 2014 17:21:57 -0700
From:      Justin Hibbits <chmeeedalf@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   Re: Machine check on suspend
Message-ID:  <20140511172157.175a3ab2@zhabar.att.net>
In-Reply-To: <CAJ-Vmonu_k0JzUaGoP-=CuBFiUWAXuT2A8t1nHZNHTh1CXyAXA@mail.gmail.com>
References:  <20140511165739.45671291@zhabar.att.net> <CAJ-Vmonu_k0JzUaGoP-=CuBFiUWAXuT2A8t1nHZNHTh1CXyAXA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 11 May 2014 17:05:02 -0700
Adrian Chadd <adrian@freebsd.org> wrote:

> It's getting an interrupt what, after the slot is powered down?

That's what it looks like.

> 
> Why's cbb_func_intr passing up an interrupt? :p

Your guess is as good as mine.  I don't disable interrupts yet, but I
do lock Giant (means little these days, of course).  cbb_func_intr() is
supposed to handle the device going away between interrupt firing and
the function being called.

- Justin

> 
> 
> -a
> 
> 
> On 11 May 2014 16:57, Justin Hibbits <chmeeedalf@gmail.com> wrote:
> > Obviously this is a different case than most.  I'm working on
> > suspend/resume for PowerPC (PowerBooks, to be precise), and part of
> > that involves testing the cardbus.
> >
> > When suspending, it suspends children first (obviously), followed by
> > parents, etc.  In this case, I have a ar5416 card in a cardbus slot.
> > The ath0 suspends, followed by cbb0, then a machine check:
> >
> > Suspending ath0, child of cardbus0
> > Suspending cardbus0, child of cbb0
> > pci1:1:0:0: Resource still owned, oops. (type=3, rid=16,
> > addr=88000000) pci1:1:0:0: Resource still owned, oops. (type=1,
> > rid=0, addr=3a)
> >
> > fatal kernel trap:
> >
> >    exception       = 0x200 (machine check)
> >    srr0            = 0x5d5530
> >    srr1            = 0x149030
> >    lr              = 0xd20896f8
> >    curthread       = 0x4c6e620
> >           pid = 12, comm = irq58: cbb0 ath0
> >
> > [ thread pid 12 tid 100108 ]
> > Stopped at      0x5d5530:       sync
> > db> bt
> > Tracing pid 12 tid 100108 td 0x4c6e620
> > 0xe4770a20: at +0x226530(326cbc)
> > 0xe4770a50: at ar5416IsInterruptPending+0x3c(d20ca368)
> > 0xe4770a70: at ath_intr+0xf0(d2064ef4)
> > 0xe4770ab0: at cbb_func_intr+0x40(d1fd71b4)
> > 0xe4770ad0: at +0x2074d4(307c60)
> > 0xe4770b00: at +0x209034(3097c0)
> > 0xe4770b50: at +0x203e78(304604)
> > 0xe4770b80: at +0x4e4b70(5e52fc)
> >
> > I'm using the projects/pmac_pmu branch, for anyone who may want to
> > test (synced with head a couple weeks ago).
> >
> > Does anything need to be done before actually suspending the devices
> > (kill wpa_supplicant, or anything else)?
> >
> > - Justin
> > _______________________________________________
> > freebsd-wireless@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
> > To unsubscribe, send any mail to
> > "freebsd-wireless-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140511172157.175a3ab2>