Fix default isochronous IRQ interval on firewire-core
libraw1394 takes a negative IRQ interval to mean "every 256 packets" with the juju backend, which doesn't work well if you don't queue that many. Use buf_packets / 4 like the ieee1394 version. Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (order, comment)
This commit is contained in:
parent
e98abe588a
commit
1fb09ead37
11
src/fw-iso.c
11
src/fw-iso.c
|
@ -391,11 +391,14 @@ iso_init(fw_handle_t handle, int type,
|
|||
return -1;
|
||||
}
|
||||
|
||||
handle->iso.type = type;
|
||||
/* set irq_interval from < 1 to default values like ieee1394 rawiso */
|
||||
if (irq_interval < 0)
|
||||
handle->iso.irq_interval = 256;
|
||||
else
|
||||
handle->iso.irq_interval = irq_interval;
|
||||
irq_interval = buf_packets / 4;
|
||||
if (irq_interval == 0)
|
||||
irq_interval = 1;
|
||||
|
||||
handle->iso.type = type;
|
||||
handle->iso.irq_interval = irq_interval;
|
||||
handle->iso.xmit_handler = xmit_handler;
|
||||
handle->iso.recv_handler = recv_handler;
|
||||
handle->iso.buf_packets = buf_packets;
|
||||
|
|
Reference in New Issue