Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Feb 2009 19:40:19 +0100
From:      "Paul B. Mahol" <onemda@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Bruce Cran <bruce@cran.org.uk>, freebsd-current@freebsd.org, Hans Petter Selasky <hselasky@c2i.net>
Subject:   Re: "Fatal trap" when unloading usb2_controller_ehci
Message-ID:  <3a142e750902091040l522ab605i13d0d5a56c292a6c@mail.gmail.com>
In-Reply-To: <200902091144.03748.jhb@freebsd.org>
References:  <20090208001656.48a1a14d@gluon> <200902081026.22618.hselasky@c2i.net> <200902091144.03748.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/9/09, John Baldwin <jhb@freebsd.org> wrote:
> On Sunday 08 February 2009 4:26:20 am Hans Petter Selasky wrote:
>> Hi,
>>
>> I don't think this is a USB problem. I rather think it has something to do
>>
>> with the IRQ handler. On my box the EHCI IRQ is shared with the IRQ of the
>>
>> graphics adapter, and when I unload the EHCI driver under X11 a couple of
>> times X11 freezes. This does not happen on the console.
>
> Perhaps try reverting Jeff's per-CPU IDT changes to see if it is related to
> that?  It seems that the IDT handler was torn down, but that an APIC IRQ
> wasn't masked or some such.

I'm reporting similar problem with drm+X11+intel when zaping Xorg on
SMP enabled kernel (core2 CPU)

Panic happens in something like acpi_ec handler.

I share John's opinion about *recent* per CPU IDT changes being source
of problem.

>> --HPS
>>
>> On Sunday 08 February 2009, Bruce Cran wrote:
>> > Unloading usb2_controller_ehci is crashing FreeBSD on -CURRENT
>> > from a few days ago, resulting in a "Fatal trap" that isn't immediately
>> > fatal but ends up knocking out the rest of the system.
>> >
>> > Shortly after issuing a kldunload, the kernel drops into DDB with:
>> >
>> > Fatal trap 30: reserved (unknown) fault while in kernel mode
>> > cpuid = 0; apic id = 00
>> > instruction pointer = 0x8 : 0xffffffff804bc646
>> > stack pointer       = 0x10: 0xfffffffe40023b70
>> > frame pointer       = 0x10: 0xfffffffe40023b80
>> > code segment        = base 0x0, limit 0xfffff, type 0x1b
>> > processor eflags    = interrupt enabled, IOPL = 0
>> > current process     = 11 (idle : cpu0)
>> > [thread pid 11 tid 100004]
>> > Stopped at acpi_cpu_c1+0x6 : leave
>> >
>> > A backtrace just shows that the idle task was running at the time of
>> > the trap.  Attempting to continue results in a load of "calcru: runtime
>> > went backwards" messages followed by the ATA driver dying with:
>> >
>> > WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing
>> > request directly
>> >
>> > Then follows similar messages about SET_MULTI, ENABLE RCACHE,
>> > ENABLE_WCACHE and WRITE_DMA48 etc.
>>
>>
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>>
>
>
>
> --
> John Baldwin
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>


-- 
Paul



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