From owner-freebsd-bugs Tue Jan 11 16:30:51 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 122C5154F7 for ; Tue, 11 Jan 2000 16:30:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id QAA39670; Tue, 11 Jan 2000 16:30:00 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C7A015037; Tue, 11 Jan 2000 16:29:16 -0800 (PST) Message-Id: <20000112002916.8C7A015037@hub.freebsd.org> Date: Tue, 11 Jan 2000 16:29:16 -0800 (PST) From: sam@errno.com To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: i386/16071: ata driver has a race in ata_command Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 16071 >Category: i386 >Synopsis: ata driver has a race in ata_command >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 11 16:30:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: Sam Leffler >Release: 4.0-CURRENT >Organization: >Environment: FreeBSD melange.errno.com 4.0-CURRENT FreeBSD 4.0-CURRENT #0: Thu Jan 6 23:50:00 GMT 2000 root@melange.errno.com:/home/sam/freebsd/src/sys/compile/MELANGE i386 >Description: ata_command (1.39) sends a command before doing a tsleep to wait for the result. If the device interrupts before tsleep is able to place the process on the sleep queue then the interrupt will be missed. >How-To-Repeat: Boot 4.0-CURRENT under vmware w/ the ata driver configured instead of the wd driver. Notice that no IDE devices are recognized; each gets a complaint: ata_command: timeout waiting for interrupt A little investigation shows the obvious race that's exasperated by operating in a pseudo-synchronous environment. >Fix: I'll let Soren (sic?) do his own. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message