Messages in this thread Patch in this message | | | Date | Fri, 9 May 2003 00:22:50 +0200 (MET DST) | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: 2.5.69: VIA IDE still broken |
| |
Apply patch.
On Fri, 9 May 2003, Felix von Leitner wrote:
> I can't believe this still isn't fixed! > > hda: dma_timer_expiry: dma status == 0x24 > hda: lost interrupt > hda: dma_intr: bad DMA status (dma_stat=30) > hda: dma_intr: status=0x50 { DriveReady SeekComplete } > > hda: dma_timer_expiry: dma status == 0x24 > hda: lost interrupt > hda: dma_intr: bad DMA status (dma_stat=30) > hda: dma_intr: status=0x50 { DriveReady SeekComplete } > > My hda is in perfect health and this does not happen on the same > hardware with 2.4.* or 2.5.63. I reported this before and got the > answer that to fix this, recent changes in the IDE code would have to be > reverted. Apparently I was unreasonably hasty in assuming that that > would be done now that the need to do it has been established. > > I would appreciate it if the fix would be integrated into 2.5.70. > > Amazing: the only hardware components in my machine that actually work > as expected with recent Linux 2.5 kernels are the network cards, the RAM > and the keyboard, and I had to replace a tulip card with an eepro100 for > that. Even the CPU appears to run too hot with Linux, causing the > system to boot spontaneously under load, and because ACPI is terminally > broken in Linux and has been every time I tried it, I can't do much > about it. Firewire does not like me (modprobe eth1394 -> oops), IDE > loses interrupts (see above), my USB mouse stops working as soon as I > plug in my USB hard disk (which works fine on my notebook and under > Windows), using my IDE CD-R causes the machine to freeze while cdrecord > does OTP, finalizing or eject. The nvidia graphics card takes major > patching to work at all with X, and all of these components are > well-known brand components from tier 1 suppliers that were chosen for > reliability and market penetration over price. I envy people who can > still evangelize Linux under circumstances like this. I sure as hell > can not. > > Felix
So what are you waiting for? Stop whining and start hacking now! -- Bartlomiej
# Fix masked_irq arg handling for ide_do_request(). # Solves "hdx: lost interrupt" bug. # # Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
drivers/ide/ide-io.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff -puN drivers/ide/ide-io.c~ide_masked_irq drivers/ide/ide-io.c --- linux-2.5.69/drivers/ide/ide-io.c~ide_masked_irq Thu May 8 17:16:27 2003 +++ linux-2.5.69-root/drivers/ide/ide-io.c Thu May 8 17:16:27 2003 @@ -850,14 +850,14 @@ queue_next: * happens anyway when any interrupt comes in, IDE or otherwise * -- the kernel masks the IRQ while it is being handled. */ - if (hwif->irq != masked_irq) + if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq) disable_irq_nosync(hwif->irq); spin_unlock(&ide_lock); local_irq_enable(); /* allow other IRQs while we start this request */ startstop = start_request(drive, rq); spin_lock_irq(&ide_lock); - if (hwif->irq != masked_irq) + if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq) enable_irq(hwif->irq); if (startstop == ide_released) goto queue_next; _
| |