Messages in this thread | | | Subject | Re: 2.5.63: 'Debug: sleeping function called from illegal context at mm/slab.c:1617' | From | Alan Cox <> | Date | 02 Mar 2003 14:21:36 +0000 |
| |
On Sun, 2003-03-02 at 12:22, Benjamin Herrenschmidt wrote: > > Well... it's a bug in _all_ archs. They (almost) all call the proc > > stuff from request_irq, and worse, on x86, I think, has the > > kmalloc inside request_irq changed to GFP_ATOMIC. > > I meant "Only" x86 does GFP_ATOMIC
The IDE layer needs to obtain the IRQ with interrupts disabled. It isnt alone in that either. I can't guarantee to mask the IRQ because not all supported hardware has working irq masking. disable/enable_irq on unallocated interrupts is undefined, and does not work on at least one supported platform at all.
Unfortunately ten years ago someone created 'register_and_activate_irq' calling it 'register_irq', and it hasn't yet been fixed.
So its up to the arch maintainers to fix it, or they don't get IDE support 8)
- 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/
| |