From gibbs@aslan.scsiguy.com  Mon Sep  5 22:29:41 2005
Return-Path: <gibbs@aslan.scsiguy.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 0591316A41F
	for <FreeBSD-gnats-submit@freebsd.org>; Mon,  5 Sep 2005 22:29:41 +0000 (GMT)
	(envelope-from gibbs@aslan.scsiguy.com)
Received: from aslan.scsiguy.com (mail.scsiguy.com [63.229.232.106])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 3143243D46
	for <FreeBSD-gnats-submit@freebsd.org>; Mon,  5 Sep 2005 22:29:37 +0000 (GMT)
	(envelope-from gibbs@aslan.scsiguy.com)
Received: from aslan.scsiguy.com (localhost [127.0.0.1])
	by aslan.scsiguy.com (8.13.3/8.13.3) with ESMTP id j85MTWAk045658
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 5 Sep 2005 16:29:33 -0600 (MDT)
	(envelope-from gibbs@aslan.scsiguy.com)
Received: (from gibbs@localhost)
	by aslan.scsiguy.com (8.13.3/8.13.3/Submit) id j85MTP7K045657;
	Mon, 5 Sep 2005 16:29:25 -0600 (MDT)
	(envelope-from gibbs)
Message-Id: <200509052229.j85MTP7K045657@aslan.scsiguy.com>
Date: Mon, 5 Sep 2005 16:29:25 -0600 (MDT)
From: Tomas Randa <lists@hosting50.cz>
Reply-To: Tomas Randa <lists@hosting50.cz>
To: FreeBSD-gnats-submit@freebsd.org
Cc: Tomas Randa <lists@hosting50.cz>
Subject: aic79xx driver timeouts with U160 target (free list corrupt?)
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         85768
>Category:       kern
>Synopsis:       [ahd] aic79xx driver timeouts with U160 target (free list corrupt?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gibbs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 05 22:30:08 GMT 2005
>Closed-Date:    
>Last-Modified:  Sat May 26 07:27:24 GMT 2007
>Originator:     Tomas Randa
>Release:        FreeBSD 5.4-p4 amd64
>Organization:
>Environment:
System:
	FreeBSD 5.4-RELEASE-p4 #0: Fri Jul  8 01:35:23 CEST 2005 tomas@box:/usr/obj/usr/src/sys/BOX
	ahd0: <Adaptec 29320 Ultra320 SCSI adapter> port 0xd400-0xd4ff,0xd000-0xd0ff mem 0xdc0c2000-0xdc0c3fff irq 17 at device 9.0 on pci0
	aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI 33 or 66Mhz, 512 SCBs
	ahd1: <Adaptec 29320 Ultra320 SCSI adapter> port 0xdc00-0xdcff,0xd800-0xd8ff mem 0xdc0c0000-0xdc0c1fff irq 18 at device 9.1 on pci0
	da0 at ahd1 bus 0 target 0 lun 0
	da0: <SEAGATE ST336754LW 0003> Fixed Direct Access SCSI-3 device
	da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
	da0: 35003MB (71687372 512 byte sectors: 255H 63S/T 4462C)

>Description:
	Seagate ST336754LW with firmware 003 times out.  Dump card
	state indicates device and controller are idle.  Kernel free
	list tally is missing 3/4 of the allocated SCBs.

	ahd1: WARNING no command for scb 0 (cmdcmplt)
	QOUTPOS = 277
	>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
	ahd1: Dumping Card State at program address 0x82 Mode 0x22
	Completions are pending
	INTSTAT[0x0] SELOID[0x0] SELID[0x0] HS_MAILBOX[0x0]
	INTCTL[0xc0]:(SWTMINTEN|SWTMINTMASK) SEQINTSTAT[0x0]
	SAVED_MODE[0x11] DFFSTAT[0x31]:(CURRFIFO_1|FIFO0FREE|FIFO1FREE)
	SCSISIGI[0x0]:(P_DATAOUT) SCSIPHASE[0x0] SCSIBUS[0x0]
	LASTPHASE[0x1]:(P_DATAOUT|P_BUSFREE) SCSISEQ0[0x0]
	SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI) SEQCTL0[0x10]:(FASTMODE)
	SEQINTCTL[0x0] SEQ_FLAGS[0xc0]:(NO_CDB_SENT|NOT_IDENTIFIED)
	SEQ_FLAGS2[0x0] QFREEZE_COUNT[0x51] KERNEL_QFREEZE_COUNT[0x51]
	MK_MESSAGE_SCB[0x3e] MK_MESSAGE_SCSIID[0x7] SSTAT0[0x0]
	SSTAT1[0x8]:(BUSFREE) SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0]
	SIMODE1[0xa4]:(ENSCSIPERR|ENSCSIRST|ENSELTIMO) LQISTAT0[0x0]
	LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0] LQOSTAT1[0x0]
	LQOSTAT2[0x0]

	SCB Count = 256 CMDS_PENDING = 0 LASTSCB 0x8 CURRSCB 0x8 NEXTSCB 0x0
	qinstart = 7035 qinfifonext = 7035
	QINFIFO:
	WAITING_TID_QUEUES:
	Pending list:
	Total 0
	Kernel Free SCB list: 8 11 29 21 34 55 20 45 3 10 37 23 38 15 14 13 24 63 48 59 27 6 16 33 43 19 49 36 62 17 26 57 53 50 5 28 9 56 42 47 51 41 30 1 31 4 18 58 39 35 54 61 7 22 2 52 25 12 40 60 0 46 44 32 79 112 113 11
	Sequencer Complete DMA-inprog list:
	Sequencer Complete list:
	Sequencer DMA-Up and Complete list:
	Sequencer On QFreeze and Complete list:



	ahd1: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
	SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
	SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
	SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
	SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
	HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)

	ahd1: FIFO1 Free, LONGJMP == 0x8213, SCB 0x8
	SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
	SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
	SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
	SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
	HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
	LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
	ahd1: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
	ahd1: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
	ahd1: SAVED_SCSIID = 0x0 SAVED_LUN = 0x0

	SIMODE0[0xc]:(ENOVERRUN|ENIOERR)
	CCSCBCTL[0x0]
	ahd1: REG0 == 0x8, SINDEX = 0x122, DINDEX = 0xe1
	ahd1: SCBPTR == 0x8, SCB_NEXT == 0xff00, SCB_NEXT2 == 0xff28
	CDB 28 0 0 80 11 bc
	STACK: 0x25 0x140 0x140 0x140 0x140 0x140 0x36 0x39

>How-To-Repeat:
	Boot system.  Perform I/O.
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gibbs 
Responsible-Changed-By: gibbs 
Responsible-Changed-When: Mon Sep 5 22:33:03 GMT 2005 
Responsible-Changed-Why:  
My driver. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=85768 
>Unformatted:
