Re: Oops on 2.5.23 and IDE

Jens Axboe
2002-06-19T18:22:05Z

On Wed, Jun 19 2002, Zwane Mwaikambo wrote:
> Hi Martin,
> IDE seems to be doing odd things.
>
> >>EIP; c0117318 <schedule+28/4f0> <=====
> Trace; c0117c6a <wait_for_completion+11a/1d0>
> Trace; c0117820 <default_wake_function+0/40>
> Trace; c0117820 <default_wake_function+0/40>
> Trace; c022e1ae <ide_do_drive_cmd+18e/1b0>
> Trace; c01bc082 <vsnprintf+2a2/420>
> Trace; c022e439 <ide_raw_taskfile+59/60>
> Trace; c02302f4 <do_recalibrate+54/70>
> Trace; c022e1d0 <special_intr+0/210>
> Trace; c0234e75 <ide_dma_intr+115/120>
> Trace; c0231138 <ata_irq_request+148/230>
> Trace; c0234d60 <ide_dma_intr+0/120>
>
>
> int ide_do_drive_cmd()
> {
> [...]
> if (action == ide_wait) {
> wait_for_completion(&wait); /* wait for it to be serviced */
> return rq->errors ? -EIO : 0; /* return -EIO if errors */
> }
> [...]
> }
>
> Was that function really designed to be called from interrupt context?

With action other than ide_wait sure, using ide_wait of course not.

--
Jens Axboe