* Lost interrupts with IDE DMA on 2.5.x
@ 2003-04-25 18:58 Marek Habersack
2003-04-25 19:47 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 3+ messages in thread
From: Marek Habersack @ 2003-04-25 18:58 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2573 bytes --]
Hello,
I've recently added a second drive to my workstation and since then I'm
getting the following error from time to time:
Apr 25 20:42:06 beowulf kernel: hda: dma_timer_expiry: dma status == 0x64
Apr 25 20:42:06 beowulf kernel: hda: lost interrupt
Apr 25 20:42:06 beowulf kernel: hda: dma_intr: bad DMA status (dma_stat=70)
Apr 25 20:42:06 beowulf kernel: hda: dma_intr: status=0x50 { DriveReady
SeekComplete }
Both drives are new Maxtors (60 and 40GB) on the VIA KT266 chipset (the mobo
is MSI K7T266 Pro2-A mobo):
----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.36
South Bridge: VIA vt8233a
Revision: ISA 0x0 IDE 0x6
Highest DMA rate: UDMA133
BM-DMA base: 0xfc00
PCI clock: 33.3MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
BM IDE Status Register Read Retry: yes
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: yes yes
End Sector FIFO flush: no no
Prefetch Buffer: yes yes
Post Write Buffer: yes yes
Enabled: yes yes
Simplex only: no no
Cable Type: 80w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: UDMA UDMA PIO DMA
Address Setup: 120ns 120ns 120ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 30ns 30ns 30ns 30ns
Data Active: 90ns 90ns 330ns 90ns
Data Recovery: 30ns 30ns 270ns 30ns
Cycle Time: 15ns 15ns 600ns 120ns
Transfer Rate: 133.3MB/s 133.3MB/s 3.3MB/s 16.6MB/s
Of course, when the above happens, all disk I/O freezes. The above happens
only when there's simultaneous activity on both devices. It doesn't happen
when the devices are on different IDE interfaces. The transfer is always
retried and completed successfully, so it's not a bad hdd and I can only
guess the problem is somewhere in the DMA/IRQ handling by the IDE driver. If
there's not enough information to diagnose/solve the problem, I can do more
tests (run with 2.4 for a while, run with the generic IDE drive etc.).
TIA,
marek
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Lost interrupts with IDE DMA on 2.5.x
2003-04-25 18:58 Lost interrupts with IDE DMA on 2.5.x Marek Habersack
@ 2003-04-25 19:47 ` Bartlomiej Zolnierkiewicz
2003-04-26 7:53 ` Paul Rolland
0 siblings, 1 reply; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2003-04-25 19:47 UTC (permalink / raw)
To: Marek Habersack; +Cc: linux-kernel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2721 bytes --]
Attached patch should help, please try.
--
Bartlomiej
On Fri, 25 Apr 2003, Marek Habersack wrote:
> Hello,
>
> I've recently added a second drive to my workstation and since then I'm
> getting the following error from time to time:
>
> Apr 25 20:42:06 beowulf kernel: hda: dma_timer_expiry: dma status == 0x64
> Apr 25 20:42:06 beowulf kernel: hda: lost interrupt
> Apr 25 20:42:06 beowulf kernel: hda: dma_intr: bad DMA status (dma_stat=70)
> Apr 25 20:42:06 beowulf kernel: hda: dma_intr: status=0x50 { DriveReady
> SeekComplete }
>
> Both drives are new Maxtors (60 and 40GB) on the VIA KT266 chipset (the mobo
> is MSI K7T266 Pro2-A mobo):
>
> ----------VIA BusMastering IDE Configuration----------------
> Driver Version: 3.36
> South Bridge: VIA vt8233a
> Revision: ISA 0x0 IDE 0x6
> Highest DMA rate: UDMA133
> BM-DMA base: 0xfc00
> PCI clock: 33.3MHz
> Master Read Cycle IRDY: 0ws
> Master Write Cycle IRDY: 0ws
> BM IDE Status Register Read Retry: yes
> Max DRDY Pulse Width: No limit
> -----------------------Primary IDE-------Secondary IDE------
> Read DMA FIFO flush: yes yes
> End Sector FIFO flush: no no
> Prefetch Buffer: yes yes
> Post Write Buffer: yes yes
> Enabled: yes yes
> Simplex only: no no
> Cable Type: 80w 40w
> -------------------drive0----drive1----drive2----drive3-----
> Transfer Mode: UDMA UDMA PIO DMA
> Address Setup: 120ns 120ns 120ns 120ns
> Cmd Active: 90ns 90ns 90ns 90ns
> Cmd Recovery: 30ns 30ns 30ns 30ns
> Data Active: 90ns 90ns 330ns 90ns
> Data Recovery: 30ns 30ns 270ns 30ns
> Cycle Time: 15ns 15ns 600ns 120ns
> Transfer Rate: 133.3MB/s 133.3MB/s 3.3MB/s 16.6MB/s
>
> Of course, when the above happens, all disk I/O freezes. The above happens
> only when there's simultaneous activity on both devices. It doesn't happen
> when the devices are on different IDE interfaces. The transfer is always
> retried and completed successfully, so it's not a bad hdd and I can only
> guess the problem is somewhere in the DMA/IRQ handling by the IDE driver. If
> there's not enough information to diagnose/solve the problem, I can do more
> tests (run with 2.4 for a while, run with the generic IDE drive etc.).
>
> TIA,
>
> marek
[-- Attachment #2: Type: TEXT/PLAIN, Size: 926 bytes --]
# Fix masked_irq arg handling for ide_do_request().
# Solves "hdx: lost interrupt" bug.
#
# Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
--- linux-2.5.68-bk6/drivers/ide/ide-io.c Fri Apr 25 16:08:53 2003
+++ linux/drivers/ide/ide-io.c Fri Apr 25 16:13:37 2003
@@ -850,14 +850,14 @@
* 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;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Lost interrupts with IDE DMA on 2.5.x
2003-04-25 19:47 ` Bartlomiej Zolnierkiewicz
@ 2003-04-26 7:53 ` Paul Rolland
0 siblings, 0 replies; 3+ messages in thread
From: Paul Rolland @ 2003-04-26 7:53 UTC (permalink / raw)
To: 'Bartlomiej Zolnierkiewicz', 'Marek Habersack'
Cc: linux-kernel
Hi Bartlomiej,
It seems the patch is missing :-(
Regards,
Paul
>
> Attached patch should help, please try.
>
> --
> Bartlomiej
>
> On Fri, 25 Apr 2003, Marek Habersack wrote:
>
> > Hello,
> >
> > I've recently added a second drive to my workstation and
> since then
> > I'm getting the following error from time to time:
> >
> > Apr 25 20:42:06 beowulf kernel: hda: dma_timer_expiry:
> dma status == 0x64
> > Apr 25 20:42:06 beowulf kernel: hda: lost interrupt
> > Apr 25 20:42:06 beowulf kernel: hda: dma_intr: bad DMA
> status (dma_stat=70)
> > Apr 25 20:42:06 beowulf kernel: hda: dma_intr:
> status=0x50 { DriveReady
> > SeekComplete }
> >
> > Both drives are new Maxtors (60 and 40GB) on the VIA KT266 chipset
> > (the mobo is MSI K7T266 Pro2-A mobo):
> >
> > ----------VIA BusMastering IDE Configuration----------------
> > Driver Version: 3.36
> > South Bridge: VIA vt8233a
> > Revision: ISA 0x0 IDE 0x6
> > Highest DMA rate: UDMA133
> > BM-DMA base: 0xfc00
> > PCI clock: 33.3MHz
> > Master Read Cycle IRDY: 0ws
> > Master Write Cycle IRDY: 0ws
> > BM IDE Status Register Read Retry: yes
> > Max DRDY Pulse Width: No limit
> > -----------------------Primary IDE-------Secondary IDE------
> > Read DMA FIFO flush: yes yes
> > End Sector FIFO flush: no no
> > Prefetch Buffer: yes yes
> > Post Write Buffer: yes yes
> > Enabled: yes yes
> > Simplex only: no no
> > Cable Type: 80w 40w
> > -------------------drive0----drive1----drive2----drive3-----
> > Transfer Mode: UDMA UDMA PIO DMA
> > Address Setup: 120ns 120ns 120ns 120ns
> > Cmd Active: 90ns 90ns 90ns 90ns
> > Cmd Recovery: 30ns 30ns 30ns 30ns
> > Data Active: 90ns 90ns 330ns 90ns
> > Data Recovery: 30ns 30ns 270ns 30ns
> > Cycle Time: 15ns 15ns 600ns 120ns
> > Transfer Rate: 133.3MB/s 133.3MB/s 3.3MB/s 16.6MB/s
> >
> > Of course, when the above happens, all disk I/O freezes.
> The above
> > happens only when there's simultaneous activity on both devices. It
> > doesn't happen when the devices are on different IDE
> interfaces. The
> > transfer is always retried and completed successfully, so
> it's not a
> > bad hdd and I can only guess the problem is somewhere in
> the DMA/IRQ
> > handling by the IDE driver. If there's not enough information to
> > diagnose/solve the problem, I can do more tests (run with 2.4 for a
> > while, run with the generic IDE drive etc.).
> >
> > TIA,
> >
> > marek
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-04-26 7:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-25 18:58 Lost interrupts with IDE DMA on 2.5.x Marek Habersack
2003-04-25 19:47 ` Bartlomiej Zolnierkiewicz
2003-04-26 7:53 ` Paul Rolland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).