lkml.org 
[lkml]   [2002]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectPatch?: linux-2.5.42/drivers/ide/ide-probe.c null pointer dereference

Linux-2.5.42 introduced a new IDE driver function
HWIF(drive)->ide_dma_queued_on(). It appears that if the device does
not do DMA at all, ide_dma_queued_on will be set to NULL. I guess that
is intentional, as that other code in drivers/ide actually checks
for the possibility that ide_dma_queue_on may be null.

Anyhow, when I booted 2.5.42, I got a null pointer dereference,
and I think it was because the system that I booted had an ATAPI CDROM
drive and I think my chip set and drive combination does not do DMA for
ATAPI devices.

Anyhow, the following patch made the problem go away, although
I'm not that confident of the correctness of the fix. For what it's worth,
I am composing this email on the system running the changed code.

--
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
--- linux-2.5.42/drivers/ide/ide-probe.c 2002-10-11 21:22:09.000000000 -0700
+++ linux/drivers/ide/ide-probe.c 2002-10-13 09:57:02.000000000 -0700
@@ -806,7 +806,8 @@
ide_toggle_bounce(drive, 1);

#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
- HWIF(drive)->ide_dma_queued_on(drive);
+ if (HWIF(drive)->ide_dma_queued_on)
+ HWIF(drive)->ide_dma_queued_on(drive);
#endif
}
\
 
 \ /
  Last update: 2005-03-22 13:30    [W:0.026 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site