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)----