diff options
| author | 2009-01-11 22:45:02 +0100 | |
|---|---|---|
| committer | 2009-05-30 10:17:43 +0200 | |
| commit | c58e16442b16f85d76808209c4aa7c37adc62de4 (patch) | |
| tree | 3f21c9b5a6ea601c7dabf97f53c395aeac3b2d5e /src/dispatch.c | |
| parent | Use 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.c | 10 |
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, |
