From owner-freebsd-bugs Thu Jan 15 00:51:32 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA18585 for freebsd-bugs-outgoing; Thu, 15 Jan 1998 00:51:32 -0800 (PST) (envelope-from owner-freebsd-freebsd-bugs@FreeBSD.ORG) Received: (from gnats@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA18543; Thu, 15 Jan 1998 00:51:20 -0800 (PST) (envelope-from gnats) 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 ; 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 ; 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 X-Send-Pr-Version: 3.2 Subject: i386/5493: kernel freeze when I access CD-ROM Sender: owner-freebsd-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 5493 >Category: i386 >Synopsis: kernel freeze when I access CD-ROM >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jan 15 00:51:13 PST 1998 >Last-Modified: >Originator: Hideki SAKAMOTO >Organization: Univ. of Tsukuba, Japan >Release: FreeBSD 2.2.5-RELEASE i386 >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--- >Audit-Trail: >Unformatted: