2.5.9 -- OOPS in IDE code (symbolic dump and boot log included)
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Oops on 2.5.9 at boot time.
Look, the problem is easy. Backout the changes to
ide_cdrom_do_request()andcdrom_start_read(), then re-add theHWGROUP(drive)->rq->special = NULL;in
cdrom_end_request()before callingide_end_request()Something ala, completely untested (not even compiled). See the thread about the ide-cd changes being broken.
That works! Applied to 2.5.10, compiled and booted. Mounted a cdrom and that works too.
Thanks!
Signature · 1 line
Randy Hron
Uz.ytkownik [email protected] napisa?:
Quoted 10 lines
Quoted 10 lines
Quoted 2 lines
Quoted 2 lines
Quoted 1 line
Oops on 2.5.9 at boot time.
Look, the problem is easy. Backout the changes to
ide_cdrom_do_request()andcdrom_start_read(), then re-add theHWGROUP(drive)->rq->special = NULL;in
cdrom_end_request()before callingide_end_request()
Quoted 8 lines
Quoted 2 lines
Something ala, completely untested (not even compiled). See the thread about the ide-cd changes being broken.
That works! Applied to 2.5.10, compiled and booted. Mounted a cdrom and that works too.
Thanks!
Yes but if you look at ide_start_dma() in ide-dma.c you will notice that the if (!ar) path is taken, which will cause fallback from DMA to PIO transfer:
/*
* Start DMA engine.
*/
int ide_start_dma(struct ata_channel *hwif, ide_drive_t *drive, ide_dma_action_t func)
{
unsigned int reading = 0, count;
unsigned long dma_base = hwif->dma_base;
struct ata_request *ar = IDE_CUR_AR(drive);
/* This can happen with drivers abusing the special request field.
*/
if (!ar) {
printk(KERN_ERR "DMA without ATA request\n");
return 1;
}Signature · 3 lines
- phone: +49 214 8656 283 - job: eVision-Ventures AG, LEV .de (MY OPINIONS ARE MY OWN!) - langs: de_DE.ISO8859-1, en_US, pl_PL.ISO8859-2, last ressort: ru_RU.KOI8-R