Date: Mon, 1 Dec 1997 10:59:22 +0900 (JST) From: junichi@astec.co.jp To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: i386/5183: ATAPI driver bug Message-ID: <199712010159.KAA00458@mqh-note.astec.co.jp> Resent-Message-ID: <199712010200.SAA21716@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 5183 >Category: i386 >Synopsis: The ATAPI I/O is blocked. >Confidential: yes >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Nov 30 18:00:00 PST 1997 >Last-Modified: >Originator: Junichi Satoh >Organization: >Release: FreeBSD 3.0-CURRENT i386 >Environment: FreeBSD 3.0-CURRENT i386 and FreeBSD 2.2.5-RELEASE i386 >Description: The ATAPI I/O is blocked and the device does not work. >How-To-Repeat: On following situation: . Two ATAPI devices are connected to one IDE interface. . One is AT_DRQT_MPROC. . The other is AT_DRQT_INTR. When the AT_DRQT_MPROC device is accessed, the I/O is blocked. >Fix: Because of the ATAPI driver, 'atapi.c', works as AT_DRQT_INTR. The ATAPI driver should work as AT_DRQT_MPROC. Apply the following patch to /usr/src/sys/i386/isa/atapi.c *** atapi.c.org Sun Jul 20 23:09:50 1997 --- atapi.c Sun Nov 30 16:49:29 1997 *************** *** 217,222 **** --- 217,225 ---- case AT_DRQT_ACCEL: printf (", accel"); break; default: printf (", drq%d", ap->drqtype); } + /* When 'slow' is set, 'intrcmd' is not acceptable. */ + if (ata->slow && ata->intrcmd) + ata->intrcmd = 0; /* overlap operation supported */ if (ap->ovlapflag) >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712010159.KAA00458>