summaryrefslogtreecommitdiffstats
path: root/src/dispatch.c
diff options
context:
space:
mode:
authorGravatar Stefan Richter 2009-01-11 22:45:02 +0100
committerGravatar Stefan Richter 2009-05-30 10:17:43 +0200
commitc58e16442b16f85d76808209c4aa7c37adc62de4 (patch)
tree3f21c9b5a6ea601c7dabf97f53c395aeac3b2d5e /src/dispatch.c
parentUse new broadcast request ioctl (diff)
Use new iso resource allocation ioctls
This allows raw1394_bandwidth_modify() and raw1394_channel_modify() to work on juju without write access to the IRM's character device file. If either the build-time requirement of firewire-cdev header ABI >= v.2 or the runtime requirement of firewire-core ABI >= v.2 is not satisfied, the code falls back to transactions to the IRM as before. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'src/dispatch.c')
-rw-r--r--src/dispatch.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/dispatch.c b/src/dispatch.c
index 49ceca2..d202424 100644
--- a/src/dispatch.c
+++ b/src/dispatch.c
@@ -541,7 +541,10 @@ int raw1394_bandwidth_modify (raw1394handle_t handle, unsigned int bandwidth,
errno = EINVAL;
return -1;
}
- return ieee1394_bandwidth_modify(handle, bandwidth, mode);
+ if (handle->is_fw)
+ return fw_bandwidth_modify(handle, bandwidth, mode);
+ else
+ return ieee1394_bandwidth_modify(handle, bandwidth, mode);
}
int raw1394_channel_modify (raw1394handle_t handle, unsigned int channel,
@@ -551,7 +554,10 @@ int raw1394_channel_modify (raw1394handle_t handle, unsigned int channel,
errno = EINVAL;
return -1;
}
- return ieee1394_channel_modify(handle, channel, mode);
+ if (handle->is_fw)
+ return fw_channel_modify(handle, channel, mode);
+ else
+ return ieee1394_channel_modify(handle, channel, mode);
}
int raw1394_iso_xmit_init(raw1394handle_t handle,