On Thu, Oct 18, 2007 at 12:30:35PM +0100, Maciej W. Rozycki wrote:
quoted text > On Wed, 17 Oct 2007, Jarek Poplawski wrote:
...
quoted text > > 2) phy_change() doesn't reenable irq line after it sees returns
> > with errors; IMHO it should at least write some warning, but maybe
> > try some safety plan, so enable_irq() and try to disable interrupts
> > and free_irq() on the next call (if it happens). (But, I can be very
> > wrong with this - maybe it's OK and official way.)
>
> No way to do this safely -- at this point the device probably still has
> its interrupt output asserted and the register to clear it is
> inaccessible, so enabling the line will enter an infinite loop. At this
> point the system is no longer stable, so it is better to keep at least
> some functionality, so that it may be attempted to be shut down cleanly,
> rather than make it completely irresponsive. The alternative is panic().
But then... your patch seems to make it possible, because it enables
irq to the initial state of the counter. Of course, this could happen
on closing only.
Jarek P.
-
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes , Jarek Poplawski , (Fri Oct 19, 1:17 am)