From sakamoto@hlla.is.tsukuba.ac.jp Tue Jan 13 19:02:14 1998
Received: from hlla-gw.hlla.is.tsukuba.ac.jp (hlla-gw.hlla.is.tsukuba.ac.jp [130.158.82.241])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA26263
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 13 Jan 1998 19:02:09 -0800 (PST)
          (envelope-from sakamoto@hlla.is.tsukuba.ac.jp)
Received: from pulse.hlla.is.tsukuba.ac.jp (pulse.hlla.is.tsukuba.ac.jp [130.158.82.50])
        by hlla-gw.hlla.is.tsukuba.ac.jp (8.8.8/3.6Wbeta7) with ESMTP id MAA02270
        for <FreeBSD-gnats-submit@freebsd.org>; Wed, 14 Jan 1998 12:04:03 +0900 (JST)
Received: by pulse.hlla.is.tsukuba.ac.jp (8.8.7/3.6Wbeta7-glove)
        id MAA20385; Wed, 14 Jan 1998 12:05:27 +0900 (JST)
Message-Id: <199801140305.MAA20385@pulse.hlla.is.tsukuba.ac.jp>
Date: Wed, 14 Jan 1998 12:05:27 +0900 (JST)
From: sakamoto@hlla.is.tsukuba.ac.jp
Reply-To: sakamoto@hlla.is.tsukuba.ac.jp
To: FreeBSD-gnats-submit@freebsd.org
Subject: kernel freeze when I access CD-ROM
X-Send-Pr-Version: 3.2

>Number:         5493
>Category:       i386
>Synopsis:       [PATCH] aic6330.c: kernel freeze when I access CD-ROM
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 15 00:51:13 PST 1998
>Closed-Date:    Wed Mar 10 01:37:04 PST 1999
>Last-Modified:  Wed Mar 10 01:37:58 PST 1999
>Originator:     Hideki SAKAMOTO
>Release:        FreeBSD 2.2.5-RELEASE i386
>Organization:
Univ. of Tsukuba, Japan
>Environment:

        Machine:        DEC HiNote Ultra II
        SCSI-adapter:   adaptec AHA-1460
        CD-ROM:         Pioneer 24x CD-ROM

>Description:
        When I access CD-DA via xcdplayer/workman ports, kernel freeze with:

          cd0:(aic0:6:0) ILLEGAL REQUEST asc:64,0 Illegal mode for this track
          cd0:time out
          aic:invalid reselect(idbit=0x40)
          aic at line 2241:identify failed

        messages. And when I access CD-DA via tosha, kernel shift to ddb
        mode with:

          aic at line 2393: SCSI-FIFO didn't drain

        message.

>How-To-Repeat:
        Run xcdplayer, workman, or tosha on my machine:-).

>Fix:
        Apply these patches.

---BEGIN---
--- /usr/src/sys/i386/isa/aic6360.c.orig        Wed Jan 14 11:37:54 1998
+++ /usr/src/sys/i386/isa/aic6360.c     Wed Jan 14 11:40:48 1998
@@ -2223,8 +2223,10 @@
                /* Wait for SCSI FIFO to drain */
                LOGLINE(aic);
                do {
+                       DELAY(100);
                        sstat2 = inb(SSTAT2);
                } while (!(sstat2 & SEMPTY) && !(inb(DMASTAT) & INTSTAT));
+               DELAY(100);
                if (!(inb(SSTAT2) & SEMPTY)) {
                        printf("aic at line %d: SCSI-FIFO didn't drain\n",
                            __LINE__);
--- /usr/src/sys/scsi/cd.c.orig Mon Jan 12 04:02:53 1998
+++ /usr/src/sys/scsi/cd.c      Mon Jan 12 05:07:15 1998
@@ -543,7 +543,7 @@
                (u_char *) bp->b_un.b_addr,
                bp->b_bcount,
                CDRETRIES,
-               30000,
+               300000, /* sakamoto */
                bp,
                flags | ((bp->b_flags & B_READ) ?
                    SCSI_DATA_IN : SCSI_DATA_OUT))
@@ -1125,7 +1125,7 @@
                (u_char *) & rdcap,
                sizeof(rdcap),
                CDRETRIES,
-               20000,          /* might be a disk-changer */
+               200000,         /* might be a disk-changer */ /* sakamoto */
                NULL,
                SCSI_DATA_IN | flags) != 0) {
                return (0);
@@ -1173,7 +1173,7 @@
            (u_char *) data,
            sizeof(*data),
            CDRETRIES,
-           20000,              /* should be immed */
+           200000,             /* should be immed */ /* sakamoto */
            NULL,
            SCSI_DATA_IN);
        return (retval);
@@ -1206,7 +1206,7 @@
                (u_char *) data,
                sizeof(*data),
                CDRETRIES,
-               20000,          /* should be immed */
+               200000,         /* should be immed */ /* sakamoto */
                NULL,
                SCSI_DATA_OUT));
 }
@@ -1234,7 +1234,7 @@
                0,
                0,
                CDRETRIES,
-               200000,         /* should be immed */
+               2000000,                /* should be immed */ /* sakamoto */
                NULL,
                0));
 }
@@ -1265,7 +1265,7 @@
                0,
                0,
                CDRETRIES,
-               20000,          /* should be immed */
+               200000,         /* should be immed */ /* sakamoto */
                NULL,
                0));
 }
@@ -1292,7 +1292,7 @@
                0,
                0,
                CDRETRIES,
-               20000,          /* should be immed */
+               200000,         /* should be immed */ /* sakamoto */
                NULL,
                0));
 }
@@ -1321,7 +1321,7 @@
                0,
                0,
                CDRETRIES,
-               2000,
+               20000,          /* sakamoto */
                NULL,
                0));
 }
@@ -1345,7 +1345,7 @@
                0,
                0,
                CDRETRIES,
-               2000,
+               20000,          /* sakamoto */
                NULL,
                0));
 }
@@ -1388,7 +1388,7 @@
                        (u_char *) data,
                len,
                CDRETRIES,
-               5000,
+               50000,          /* sakamoto */
                NULL,
                SCSI_DATA_IN));
 }
@@ -1423,7 +1423,7 @@
                        (u_char *) data,
                len,
                CDRETRIES,
-               5000,
+               50000,          /* sakamoto */
                NULL,
                SCSI_DATA_IN));
 }
---END---



>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: phk 
State-Changed-When: Thu Apr 30 22:57:44 PDT 1998 
State-Changed-Why:  
awaiting committer  
State-Changed-From-To: suspended->closed 
State-Changed-By: sheldonh 
State-Changed-When: Wed Mar 10 01:37:04 PST 1999 
State-Changed-Why:  
Active development on 2.2 branch is over, no committer available. 
>Unformatted:
