Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 May 1999 09:00:50 -0600
From:      Nate Williams <nate@mt.sri.com>
To:        Christopher Masto <chris@netmonger.net>
Cc:        Assar Westerlund <assar@sics.se>, current@FreeBSD.ORG
Subject:   Re: zzz crashing in current OR inthand_remove not removing handlers properly
Message-ID:  <199905171500.JAA22502@mt.sri.com>
In-Reply-To: <19990516235949.A18232@netmonger.net>
References:  <5lr9ogzaqf.fsf@assaris.sics.se> <19990516235949.A18232@netmonger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> > Hi, on a -current from around a week ago `zzz' always managed to crash
> > my machine.  The relevant parts from the panic and the backtrace are
> > included below.
> > 
> > It seems that the cause of this was a stray interrupt was arriving
> > after having unloaded the driver.  For some reason it wasn't handled
> > by isa_strayintr, and the reason for that was that inthand_remove
> > didn't manage to remove the interrupt (and get it replaced by the
> > stray function) correctly.  After applying the patch at the end of
> > this mail I can once again sleep my laptop succesfully.
> 
> Wow.  I think that's actually done the trick.  Not only can I suspend,
> but I can now remove my 3C589 without a panic.
> 
> ... well, I just managed to lock up the machine.. but I think that was
> from a missed remove event.  I must have lost that polling patch
> somewhere along the way.

If you're polling, it's *REAL* easy to lockup the machine inside the
card's interrupt handler, with no chance of it every escaping since the
'poll' can't interrupt the IRQ.

The solution is to not poll and to make sure insertion/removal events
generate an interrupt which can inform the card's interrupt handlers
that there is no more card.

(That's one of the main reasons polling is a very bad idea.)




Nate


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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