Subject: Re: crash from ohci detach
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@astron.com>
List: current-users
Date: 01/04/2008 02:47:50
In article <20080103233127.6f423e16@cs.columbia.edu>,
Steven M. Bellovin <smb@cs.columbia.edu> wrote:
>-=-=-=-=-=-
>
>On Thu, 3 Jan 2008 10:39:35 -0500
>"Steven M. Bellovin" <smb@cs.columbia.edu> wrote:
>
>> On Thu, 3 Jan 2008 00:32:24 +0100
>> Joerg Sonnenberger <joerg@britannica.bec.de> wrote:
>> 
>> > On Wed, Jan 02, 2008 at 06:09:15PM -0500, Steven M. Bellovin wrote:
>> > > Eyeballing the panic, it says "ohci_intr:... bad address" followed
>> > > by a uvm_fault.  These are both consistent with a bad PTE...
>> > 
>> > Check if the interrupt handler is called after the memory mapped IO
>> > has been removed.
>> > 
>> My tentative answer is that uhub.c and usb.c called pmf_register but
>> not pmf_deregister.  Preliminary tests suggest that adding those calls
>> to the detach routines solve the problem but I want to test more first
>> -- shortly after a series of attach/detach cycles, my system crashed
>> with 'list head mismatch'.  
>> 
>No, my patch didn't fix the problem...  
>
>That said, I think the attached patches should be committed
>nevertheless.  Comments?

Yes, if we call pmf_register we should also call pmf_deregister.

christos