Re: [2.6] kernel BUG at arch/i386/mm/highmem.c:14!

Andrew Morton
2003-08-29T16:23:45Z

Jens Axboe <axboe@suse.de> wrote:
>
> > ----------------------------------------------------------------------------
> > hda: DMA disabled
> > bad: scheduling while atomic!
> > Call Trace:
> > [<c011ce00>] schedule+0x510/0x520
> > [<c022a820>] blk_run_queues+0x120/0x300
> > [<c0147e50>] find_get_page+0x70/0x140
> > [<c011ed6e>] io_schedule+0xe/0x20
> > [<c0171f7f>] __wait_on_buffer+0xcf/0xe0
> > [<c011fa80>] autoremove_wake_function+0x0/0x50
> > [<c011fa80>] autoremove_wake_function+0x0/0x50
> > [<c01de17a>] flush_commit_list+0x31a/0x440
> > [<c01e28fb>] do_journal_end+0x5fb/0xc00
> > [<c01e1b79>] flush_old_commits+0x139/0x1d0
> > [<c01cf940>] reiserfs_write_super+0x30/0x40
> > [<c01791bf>] sync_supers+0x1ef/0x280
> > [<c014e143>] wb_kupdate+0x63/0x160
> > [<c011cae2>] schedule+0x1f2/0x520
> > [<c014eb0c>] __pdflush+0x21c/0x5f0
> > [<c014eee0>] pdflush+0x0/0x20
> > [<c014eef1>] pdflush+0x11/0x20
> > [<c014e0e0>] wb_kupdate+0x0/0x160
> > [<c0107259>] kernel_thread_helper+0x5/0xc
>
> These traces look suspicious. Are you using a standard kernel? What
> options?

This trace has been reported several times, and it always correlates with
an IDE error message of some form.

I'm suspecting that something in the IDE error handling path either forgets
to undo a spinlock or leaves interrupts disabled.