From: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
To: Marek Habersack <grendel@caudium.net>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: Lost interrupts with IDE DMA on 2.5.x
Date: Fri, 25 Apr 2003 21:47:28 +0200 (MET DST) [thread overview]
Message-ID: <Pine.SOL.4.30.0304252143370.602-200000@mion.elka.pw.edu.pl> (raw)
In-Reply-To: <20030425185802.GA4391@thanes.org>
[-- 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;
next prev parent reply other threads:[~2003-04-25 19:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-25 18:58 Lost interrupts with IDE DMA on 2.5.x Marek Habersack
2003-04-25 19:47 ` Bartlomiej Zolnierkiewicz [this message]
2003-04-26 7:53 ` Paul Rolland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.SOL.4.30.0304252143370.602-200000@mion.elka.pw.edu.pl \
--to=b.zolnierkiewicz@elka.pw.edu.pl \
--cc=grendel@caudium.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).