linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).