From owner-freebsd-bugs Mon Aug 18 01:10:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id BAA06438 for bugs-outgoing; Mon, 18 Aug 1997 01:10:03 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id BAA06413; Mon, 18 Aug 1997 01:10:01 -0700 (PDT) Resent-Date: Mon, 18 Aug 1997 01:10:01 -0700 (PDT) Resent-Message-Id: <199708180810.BAA06413@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, shin@sm.sony.co.jp Received: (from nobody@localhost) by hub.freebsd.org (8.8.5/8.8.5) id BAA06209; Mon, 18 Aug 1997 01:07:48 -0700 (PDT) Message-Id: <199708180807.BAA06209@hub.freebsd.org> Date: Mon, 18 Aug 1997 01:07:48 -0700 (PDT) From: shin@sm.sony.co.jp To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: kern/4329: read(2) from /dev/bktr0 hangs Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 4329 >Category: kern >Synopsis: read(2) from /dev/bktr0 hangs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Aug 18 01:10:00 PDT 1997 >Last-Modified: >Originator: Takao Shinohara >Organization: Sony corporation >Release: 2.2.2-RELEASE i386 >Environment: >Description: read(2) from Bt848 device (/dev/bktr0) sleeps forever. >How-To-Repeat: dd if=/dev/bktr0 of=/dev/null bs=614400 count=1 >Fix: *** brooktree848.c.~1~ Sun Aug 17 19:20:33 1997 --- brooktree848.c Mon Aug 18 16:37:05 1997 *************** *** 1132,1141 **** --- 1132,1158 ---- bktr->flags &= ~(METEOR_CAP_MASK | METEOR_WANT_MASK); + #if 1 /* bugfix */ + bt848 = bktr->base; + start_capture(bktr, METEOR_SINGLE); + + /* wait for capture to complete */ + bt848->int_stat = ALL_INTS_CLEARED; + bt848->gpio_dma_ctl = FIFO_ENABLED; + bt848->gpio_dma_ctl = bktr->capcontrol; + + bt848->int_mask = BT848_INT_MYSTERYBIT | + BT848_INT_RISCI | + BT848_INT_VSYNC | + BT848_INT_FMTCHG; + + bt848->cap_ctl = bktr->bktr_cap_ctl; + #else /* Start capture */ bt848 = bktr->base; bt848->gpio_dma_ctl = FIFO_ENABLED; bt848->gpio_dma_ctl = FIFO_RISC_ENABLED; + #endif status = tsleep((caddr_t)bktr, METPRI, "captur", 0); if (!status) /* successful capture */ >Audit-Trail: >Unformatted: