Re: revert yenta free_irq on suspend

Pavel Machek
2005-08-01T07:19:45Z

Hi!

> > > In general, I think that calling free_irq is the right behavior.
> > > Although irqs changing after suspend is rare, there are also some
> > > more serious issues. This has been discussed in the past, and a
> > > summary is as follows:
> >
> > irqs actually isn't changed after suspend currently, it's a considering
> > for future usage like hotplug.
> > Calling free_irq actually isn't a complete ACPI issue, but ACPI requires
> > it to solve nasty 'sleep in atomic' warning.
>
> Is that the only problem? If so, then surely we can make free_irq() run
> happily with interrupts disabled: unlink the IRQ handler synchronously,
> defer the /proc teardown or something like that.

No, the problem is that

a) restoring interrupt links needs interrupts enabled [or rewriting
half of ACPI interpretter]

b) to solve a) [and to solve other stuff, too], we need
free_irq/request_irq all over the tree.

> > You will find such break
> > with swsusp without ACPI. Could we revert the ACPI change in Linus's
> > tree but keep it in -mm tree? So we get a chance to fix drivers.
>
> That depends on the amount of brokenness involved: if it's significant then
> I'll get a ton of bug reports concerning something which we already know is
> broken and we'll drive away our long-suffering testers.

The amount of brokenness is not that bad, and it fixes some machines,
too.
Pavel
--
if you have sharp zaurus hardware you don't need... you know my address