Messages in this thread | | | Subject | Re: Problems with arch/i386/kernel/apm.c | Date | Mon, 11 Jun 2001 19:42:36 +0100 (BST) | From | Alan Cox <> |
| |
> > needed. What I am really desiring to know is if there are any devices > > that depend on the apm::send_event(APM_NORMAL_RESUME) happening while > > interrupts are disabled. > > Good spotting... If any devices depend on what you describe, I would > argue that their drivers should handle that not the core apm code...
The drivers can't handle it at the moment. I've been talking to many people about this all hitting this sort of driver problem.
I think the fix is to keep two classes of power management objects and do the following
Call each 'nonirq' suspend function (aborting if need be) cli() Call each irq blocked suspend function suspend
resume: call each irq blocked resume function sti(); call each nonirq resume
That is an easy change set to make and solves a lot of grief
- 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/
| |