Date: Mon, 18 Aug 1997 01:07:48 -0700 (PDT) From: shin@sm.sony.co.jp To: freebsd-gnats-submit@FreeBSD.ORG Subject: kern/4329: read(2) from /dev/bktr0 hangs Message-ID: <199708180807.BAA06209@hub.freebsd.org> Resent-Message-ID: <199708180810.BAA06413@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708180807.BAA06209>
