Commit Graph

108 Commits

Author SHA1 Message Date
Stefan Richter 788442d403 [libraw1394 patch] Fix raw1394_channel_modify() on firewire-core
(juju)

Reported by Adrian Knoth:  fw_channel_modify() was unable to allocate
some channels which were actually free.
http://marc.info/?l=linux1394-devel&t=122818128900002

This can be easily fixed by replacing fw_channel_modify() by
ieee1394_channel_modify() because this is highlevel enough to work with
Juju as well.  We only may want a separate fw_channel_modify() in the
future when firewire-core gains a special ioctl() for that.

Also fix a documentation typo:  raw1394_channel_modify() did not show up
in extracted API documentation due to a cut'n'paste typo in raw1394.h.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-12-03 19:56:32 -08:00
Stefan Richter 7b8d270352 Fix segfault in juju's handle_arm_request
The buffer pointers were uninitialized, leading to segfault in memcpy.
Bug report and initial version of the fix by Adrian Knoth.

Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:56:48 -07:00
Stefan Richter 0bf8132319 Reduce nesting depth in new_handle dispatchers
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:56:32 -07:00
Stefan Richter d080bb3d83 Address some compiler warnings
7x unused variable, 1x assignment used as truth value, 1x pointer signedness

Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:56:09 -07:00
Erik Hovland 531b0787f1 Makes extra sure strings are not overrun.
When using strncpy with the exact size of the destination string the
string may end up lacking null termination because the source string is
bigger then the destination.

Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:41 -07:00
Erik Hovland 63b9d38820 Makes sure a value is returned by the function.
A function can compile without returning something always.

Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:34 -07:00
Erik Hovland 038f5f5c98 Make sure that we have the right types.
When an unsigned type is assigned a signed value, the
negatived value is never seen.

Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:32 -07:00
Erik Hovland 8ad324c971 Compare unsigned values instead of subtracting them.
Unsigned values do not return signed values when subtracted
and the right operand is larger then the left operand.

Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:29 -07:00
Erik Hovland 709d8791ce Protect against resource leaks.
Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:06 -07:00
Erik Hovland 378b935fa3 Make sure variables are initialized before used.
Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:04 -07:00
Dan Dennedy 6747abb057 dispatch.c: fix a memory leak on not deleting the raw1394 wrapper handle. 2008-07-21 22:01:03 -07:00
Dan Dennedy 8f942654d9 Change handle validation to prevent segfault and be more informative. 2008-07-06 12:06:40 -07:00
Stefan Richter 4ce429a797 Fix raw1394_read_cycle_timer after juju integration
The ieee1394 version of raw1394_read_cycle_timer() fell over the cliff
in "First cut at integrating juju".  This brings it back and adds a juju
version of it.

Also correct a typo in the inline documentation: s/get/read/
2008-07-05 13:16:30 -07:00
Philippe Troin 477b6eee6d Plug dir leak and initialize data structs
While trying to track down some crashes in kino, I found the following problems
with libraw1394:

 * There is a DIR* leak in raw1394_set_port().
 * Lots of data structures are not fully initialized when calling IEEE1394
   ioctl()s.  These cause valgrind errors (benign, as valgrind does not know
   how to interpret all ioctls.  However these also cause kino to crash in
   libraw1394.  I've added a bunch of memset()s to prevent this problem from
   happening.

Forward-ported to libraw1394 git tree by Jarod Wilson.
2008-07-05 13:09:29 -07:00
Dan Dennedy f9681ff59d Move the source code files in the juju directory into the src directory and
give them 'fw' names instead of 'juju.'
2008-04-30 14:37:28 -07:00
Dan Dennedy 3b4d2eed60 libraw1394.sgml, raw1394.h: remove information about deprecated isochronous
API that has been removed.
2008-04-29 23:09:22 -07:00
Dan Dennedy 0ea462ae98 First cut at integrating juju
This is currently working with legacy ieee1394 and tools/testlibraw.
2008-04-23 17:44:36 -07:00
Dan Dennedy a118281f85 eventloop.c: apply patch from Jonas Bonn to retry read when failed with EINTR.
This can occur when libraw1394 caller receives a signal while in this read and
the caller is not using a signal handler set with signal().
2008-03-27 09:48:02 -07:00
ddennedy 77b6ef1f9e fix documentation on raw1394_update_config_rom
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@175 53a565d1-3bb7-0310-b661-cf11e63c67ab
2007-10-14 01:46:08 +00:00
ddennedy c65a1c3ad8 Apply patch from Jon Schewe <jon.schewe@honeywell.com> to make valgrind happy. Adds --with-valgrind configure option.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@172 53a565d1-3bb7-0310-b661-cf11e63c67ab
2007-05-30 05:11:30 +00:00
ddennedy 1f1549c6ad add documentation about existence of RAW1394DEV
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@171 53a565d1-3bb7-0310-b661-cf11e63c67ab
2007-02-17 02:30:13 +00:00
ddennedy 4a129dd960 add support for RAW1394DEV environment variable to override default /dev/raw1394, but also attempt to failover to default.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@170 53a565d1-3bb7-0310-b661-cf11e63c67ab
2007-02-17 02:24:16 +00:00
ddennedy fa981a8b96 added raw1394_read_cycle_timer, contributed by Pieter Palmers
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@169 53a565d1-3bb7-0310-b661-cf11e63c67ab
2007-02-14 05:29:18 +00:00
ddennedy 3a35307a85 bugfix segfault in raw1394_iso_shutdown on no iso activity due to not initializing raw1394_handle.iso_packet_infos to NULL in raw1394_new_handle
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@168 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-10-17 03:39:37 +00:00
ddennedy e4e2330837 apply optimization patch from Pieter Palmers that removes modulo operator from high frequency isochronous code
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@167 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-05-09 04:27:38 +00:00
ddennedy 45503d30d3 cleanup some compiler warnings
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@165 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-04-09 02:25:22 +00:00
ddennedy 0b0ad6b10e lock allocated isochronous packet tracking memory
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@163 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-04-09 02:13:44 +00:00
ddennedy 9c74e4a295 remove memory allocations for isochronous operations from the libraw1394 event loop to make them more respectful of realtime applications
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@162 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-04-09 01:26:41 +00:00
ddennedy 96aaa4ca65 Added a new callback response for iso_xmit handlers: RAW1394_ISO_AGAIN.
This would be returned when the callback doesn't have enough data to
create a complete packet. This can occur when the xmit buffers are
bigger than the buffers supplying the data. It is not nescessarily an
error, because there are enough packets in the xmit buffer. This
response could give the data supplyer more time to fill the intermediate
buffer without losing any packets.

Signed-off-by: Pieter Palmers <pieterp@joow.be>
Signed-off-by: Dan Dennedy <dan@dennedy.org>


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@161 53a565d1-3bb7-0310-b661-cf11e63c67ab
2006-03-04 01:17:46 +00:00
ddennedy a51052f41b Fix raw1394_iso_xmit_write() to work with recent kernel change to raw1394
to fix bug with stalling on buffer underrun.


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@160 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-07-04 04:04:22 +00:00
ddennedy 1906551515 add sanity check to queuing of packets in rawiso xmit
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@159 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-07-04 03:00:50 +00:00
ddennedy 87941d01c4 Add a comment that libraw does not allocate channels and bandwidth. This
is already mentioned in doc/libraw1394.sgml but an existing comment about
raw1394_iso_xmit_init may be misleading.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@158 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-07-01 04:12:47 +00:00
ddennedy 202b68ef5b bugfix stalling on iso transmission underflow
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@156 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-06-23 17:09:33 +00:00
ddennedy 1c06177cd7 documentation and header comment corrections from Stefan Richter
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@155 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-06-02 18:30:57 +00:00
ddennedy 246f623e35 add functions for allocating and releasing bandwidth and channels
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@154 53a565d1-3bb7-0310-b661-cf11e63c67ab
2005-02-16 16:54:58 +00:00
ddennedy 9d07aaadda add comment about assumptions made in raw1394_get_port_info
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@152 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-11-26 16:30:44 +00:00
ddennedy 3de7e65109 apply patch from Matthias Hanel to fix uninitialized buffer and remove unncessary (and logically impossible) copy in get_port_info
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@151 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-11-25 18:46:29 +00:00
ddennedy 942638f8be improve reference documentation
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@150 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-11-25 18:01:57 +00:00
ddennedy eb9b08bd5c port iso examples to rawiso API
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@147 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-11-18 05:24:13 +00:00
ddennedy 940fabaf39 reorganize and update documentation; fix compiler warning
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@144 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-11-11 03:19:09 +00:00
ddennedy dbfde4f174 revert kernel protocol version
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@143 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-10-31 01:06:20 +00:00
ddennedy ff3c421f8d bump versions, build fixes, and doc updates
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@140 53a565d1-3bb7-0310-b661-cf11e63c67ab
2004-10-30 22:49:27 +00:00
bencollins 6b2bee6aca Patch from Jim Radford. Other half of packet_per_buffer ABI cleanup.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@139 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-12-09 01:47:45 +00:00
bencollins 8fa3c9874b Patch from Alexander Neundorf to support differing ISO rx modes. Currently
supported only by OHCI.


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@138 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-11-20 15:47:03 +00:00
weihs ff891d604b sync with driver
(addition of functions raw1394_arm_get_buf raw1394_arm_set_buf to get and set buffers of mapped address ranges)

git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@137 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-11-09 19:46:20 +00:00
weihs 30030e14aa sync with driver version of this file
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@136 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-11-09 19:44:11 +00:00
bencollins c4e056e164 Patch from Alexander Neundorf to add proto for raw1394_iso_recv_flush()
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@135 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-10-07 13:28:07 +00:00
bencollins 0072343aab Fixup async_stream to use same local req variable for reentrancy.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@132 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-09-26 13:51:31 +00:00
bencollins e89e0feee4 Async stream support from Jim Radford.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@130 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-09-11 02:47:22 +00:00
bencollins ec749d4a02 Patch from Stephen Tiedemann to allow reentrancy in raw1394's usage of
raw1394_request's.


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@128 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-07-22 14:54:19 +00:00