2002-10-05 08:17:43

by Andrey Panin

[permalink] [raw]
Subject: [IDE] sleeping function called from illegal context at slab.c:1347

Hello all,

looks like i tracked down yet another instance of this already famous
message, :)
but i don't know how to fix it.

This message produced by IDE driver is IMHO
caused by ide_init_queue() function called while holding
ide_lock spinlock in the
init_irq() function (ide-probe.c).

Then ide_init_queue() calls blk_init_queue()
and we have a this call chain:
ide_init_queue() -> blk_init_queue() ->
blk_init_free_list() -> kmem_cache_alloc()

What can we do to fix this ?

Best
regards,
Andrey


Attachments:
dmesg (7.59 kB)

2002-10-05 18:02:55

by Robert Love

[permalink] [raw]
Subject: Re: [IDE] sleeping function called from illegal context at slab.c:1347

On Sat, 2002-10-05 at 04:36, Andrey Panin wrote:

> looks like i tracked down yet another instance of this already famous
> message, :)
> but i don't know how to fix it.
>
> This message produced by IDE driver is IMHO
> caused by ide_init_queue() function called while holding
> ide_lock spinlock in the
> init_irq() function (ide-probe.c).
>
> Then ide_init_queue() calls blk_init_queue()
> and we have a this call chain:
> ide_init_queue() -> blk_init_queue() ->
> blk_init_free_list() -> kmem_cache_alloc()

This is known, but thank you anyhow.

> What can we do to fix this ?

Question of the year :)

Robert Love