Subject: help sought for puzzling DMA error issue in -current....
To: None <current-users@netbsd.org>
From: Matthew Jacob <mjacob@feral.com>
List: current-users
Date: 09/05/2000 23:37:05
A couple of people have reported 'DMA errors' with the Qlogic 1280 cards to
me. One in FreeBSD, one in NetBSD. I could never reproduced the problems
reported. That is, until now. This is on an Alpha PC164.

I'm mostly convinced it's either a Qlogic f/w bug or a h/w problem- *remotely*
possibly a driver bug, but it *might* be an Alpha or a NetBSD user mapping
issue. In any case- I thought I'd ask here if anyone can think of an alternate
explanation.

The failing setup for me is an Exabyte 8200 (I kid you not). I'm writing to it
with 32KB records, and a couple hundred or so in, it seems to fail- the noisy
debug audit trace shows a pretty continous sequence of 2 segment writes from
the same user address- except that one gets a DMA error reported from it. Can
anyone suggest anything *other* than an error in the driver or h/w for this?

TIA,

-matt

....
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: Async Mbox 0x8020
isp1: 32768 byte write from 0xfffffe0005afd378 in 2 segs
isp1: seg0.[0]={0x471bb378,3208}
isp1: seg0.[1]={0x471e6000,29560}
isp1: START cmd for 0.5.0 cmd 0xa datalen 32768
isp1: DMA error for command on 0.5.0
isp1: asked for 32768 got resid 0
isp1: (0.5.0): FIN dl32768 resid0 STS 0x0 SKEY . XS_ERR=0x3