Subject: Re: IEEE 1394 support in NetBSD-4 and Current
To: None <mwicks@kettering.edu>
From: KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
List: current-users
Date: 11/13/2006 11:10:32
----Next_Part(Mon_Nov_13_11:10:32_2006_031)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi! mwicks,


From: "Mark A. Wicks" <mwicks@kettering.edu>
Date: Sun, 12 Nov 2006 20:28:18 -0500 (EST)

> Firewire DV capture isn't working for me in NetBSD-4.  The only 1394 
> device I have is a camcorder.  Typing "fwctl -R filename" returns with
> 
> fwctl: read failed: Input/output error

Sorry,  I knew it several days ago. ;-<

However We can already fixed the problem.  I will fix after few days.

Thanks,
--
kiyohara


----Next_Part(Mon_Nov_13_11:10:32_2006_031)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="dv.diff"

Index: fwohci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ieee1394/fwohci.c,v
retrieving revision 1.102
diff -u -r1.102 fwohci.c
--- fwohci.c	12 Oct 2006 01:31:15 -0000	1.102
+++ fwohci.c	4 Nov 2006 13:59:42 -0000
@@ -2722,9 +2722,11 @@
 	int dsiz[2];
 
 	ir = &dbch->xferq;
-	if (db_tr->buf == NULL && (dbch->xferq.flag & FWXFERQ_EXTBUF) == 0) {
-		db_tr->buf = fwdma_malloc_size(dbch->dmat, &db_tr->dma_map,
-			ir->psize, &dbuf[0], BUS_DMA_NOWAIT);
+	if (ir->buf == NULL && (dbch->xferq.flag & FWXFERQ_EXTBUF) == 0) {
+		if (db_tr->buf == NULL)
+			db_tr->buf = fwdma_malloc_size(
+			    dbch->dmat, &db_tr->dma_map,
+			    ir->psize, &dbuf[0], BUS_DMA_NOWAIT);
 		if (db_tr->buf == NULL)
 			return(ENOMEM);
 		db_tr->dbcnt = 1;
@@ -2738,7 +2740,7 @@
 			dbuf[db_tr->dbcnt++] = dummy_dma->bus_addr;
 		}
 		dsiz[db_tr->dbcnt] = ir->psize;
-		if (db_tr->buf != NULL) {
+		if (ir->buf != NULL) {
 			db_tr->buf = fwdma_v_addr(ir->buf, poffset);
 			dbuf[db_tr->dbcnt] = fwdma_bus_addr( ir->buf, poffset);
 		}

----Next_Part(Mon_Nov_13_11:10:32_2006_031)----