Oops on 2.5.23 and IDE

Zwane Mwaikambo
2002-06-19T16:43:34Z

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?

Cheers,
Zwane Mwaikambo

--