summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ddennedy 2005-07-04 03:00:50 +0000
committerGravatar ddennedy 2005-07-04 03:00:50 +0000
commit19065515152718407db849b0be71a8eeee80deaa (patch)
tree53aaf9dba643e8967d02a5b5509f2b4a1d4ca416
parentAdd a comment that libraw does not allocate channels and bandwidth. This (diff)
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
-rw-r--r--src/iso.c5
-rw-r--r--src/raw1394.h16
2 files changed, 15 insertions, 6 deletions
diff --git a/src/iso.c b/src/iso.c
index 9e19e49..914b3ec 100644
--- a/src/iso.c
+++ b/src/iso.c
@@ -269,7 +269,6 @@ int raw1394_iso_recv_start(raw1394handle_t handle, int start_on_cycle, int tag_m
return 0;
}
-
static int _raw1394_iso_xmit_queue_packets(raw1394handle_t handle)
{
struct raw1394_iso_status *stat = &handle->iso_status;
@@ -282,6 +281,10 @@ static int _raw1394_iso_xmit_queue_packets(raw1394handle_t handle)
goto out;
}
+ /* ensure stat->n_packets is sane */
+ if (stat->n_packets > stat->config.buf_packets)
+ stat->n_packets = stat->config.buf_packets;
+
/* we could potentially send up to stat->n_packets packets */
packets.n_packets = 0;
packets.infos = malloc(stat->n_packets * sizeof(struct raw1394_iso_packet_info));
diff --git a/src/raw1394.h b/src/raw1394.h
index bd482da..833915f 100644
--- a/src/raw1394.h
+++ b/src/raw1394.h
@@ -1207,7 +1207,9 @@ typedef int (*iso_handler_t)(raw1394handle_t, int channel, size_t length,
**/
iso_handler_t raw1394_set_iso_handler(raw1394handle_t handle,
unsigned int channel,
- iso_handler_t new_h);
+ iso_handler_t new_h)
+__attribute__ ((deprecated));
+
/**
* raw1394_start_iso_rcv - enable isochronous receiving (DEPRECATED)
* @handle: libraw1394 handle
@@ -1219,7 +1221,8 @@ iso_handler_t raw1394_set_iso_handler(raw1394handle_t handle,
* Isochronous packets are then passed to the callback specified with
* raw1394_set_iso_handler().
**/
-int raw1394_start_iso_rcv(raw1394handle_t handle, unsigned int channel);
+int raw1394_start_iso_rcv(raw1394handle_t handle, unsigned int channel)
+__attribute__ ((deprecated));
/**
* raw1394_stop_iso_rcv - stop isochronous receiving (DEPRECATED)
@@ -1230,7 +1233,8 @@ int raw1394_start_iso_rcv(raw1394handle_t handle, unsigned int channel);
*
* Stops the reception of isochronous packets in @channel on @handle.
**/
-int raw1394_stop_iso_rcv(raw1394handle_t handle, unsigned int channel);
+int raw1394_stop_iso_rcv(raw1394handle_t handle, unsigned int channel)
+__attribute__ ((deprecated));
/**
* raw1394_start_iso_write - initiate an isochronous packet write (DEPRECATED)
@@ -1259,7 +1263,8 @@ int raw1394_stop_iso_rcv(raw1394handle_t handle, unsigned int channel);
int raw1394_start_iso_write(raw1394handle_t handle, unsigned int channel,
unsigned int tag, unsigned int sy,
unsigned int speed, size_t length, quadlet_t *data,
- unsigned long rawtag);
+ unsigned long rawtag)
+__attribute__ ((deprecated));
/**
* raw1394_iso_write - DEPRECATED
@@ -1269,7 +1274,8 @@ int raw1394_start_iso_write(raw1394handle_t handle, unsigned int channel,
**/
int raw1394_iso_write(raw1394handle_t handle, unsigned int channel,
unsigned int tag, unsigned int sy, unsigned int speed,
- size_t length, quadlet_t *data);
+ size_t length, quadlet_t *data)
+__attribute__ ((deprecated));
#ifdef __cplusplus
}
4c32fa0ec6234582c8baf97&follow=1'>Ooops...libtool works a bit different than I thought, but atleast it worksGravatar bencollins 2-6/+1 like it is supposed to. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@117 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Generate and install the pdf in the Debian package.Gravatar bencollins 3-3/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@114 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Don't run configure at the end of autogen.sh. Also, remove autom4te.cache.Gravatar bencollins 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@113 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Update Debian maintainerGravatar bencollins 1-1/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@112 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Update Debian changelog.Gravatar bencollins 1-0/+8 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@111 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13File doesn't really seem needed. The NEWS file gives a good overview, andGravatar bencollins 1-4/+0 the svn log is more than verbose enough for info seekers. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@110 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Fix compiler warnings.Gravatar bencollins 4-12/+22 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@109 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Updates from 0.10.0 release.Gravatar bencollins 4-5/+14 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@108 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-23add libtoolize to bootstrapGravatar ddennedy 1-1/+10 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@107 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-21added Dan Maas' rawiso docsGravatar ddennedy 1-32/+295 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@106 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-07new_handle_on_port() error path fix from Jim RadfordGravatar dmaas 1-1/+3 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@105 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-03-26add raw1394_new_handle_on_port() convenience functionGravatar dmaas 2-1/+41 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@104 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-02-22Updates for new rawiso ioctl interface.Gravatar bencollins 3-37/+125 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@103 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15add iso_xmit_sync() and iso_xmit_write(); clean up iso handling a bitGravatar dmaas 5-39/+161 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@102 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15implement tag matching for rawiso receptionGravatar dmaas 3-4/+12 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@101 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-06back out previous commit - don't drop the legacy API just yetGravatar dmaas 6-173/+130 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@100 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-05emulate legacy ISO reception API on top of new rawiso APIGravatar dmaas 7-131/+174 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@99 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-24update iso API for multi-channel reception and new packet buffer layoutGravatar dmaas 4-123/+236 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@98 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20oops, irq_interval needs to be signedGravatar anonymous 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@97 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20dmaas - renamed exported arm definitions into the raw1394_ namespace; ↵Gravatar anonymous 3-124/+48 brought kernel-raw1394.h back in sync with the kernel version git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@96 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-16rawiso updates:Gravatar dmaas 3-18/+25 - changed return type of rawiso xmit/recv handlers from int to enum raw1394_iso_disposition - added an ioctl (RAW1394_ISO_QUEUE_ACTIVITY) to force an ISO_ACTIVITY event into the queue. This is needed for handling RAW1394_ISO_DEFER, to kick us out of the next read() instead of sleeping forever. - removed references to "8-byte" isochronous header - this is an OHCI-specific implementation detail git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@95 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18fix cplusplus extern C blockGravatar ddennedy 1-4/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@94 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18merged rawiso branchGravatar ddennedy 7-6/+488 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@93 53a565d1-3bb7-0310-b661-cf11e63c67ab