From: SVN U. <dde...@li...> - 2005-07-04 03:26:53
|
Author: ddennedy Date: 2005-07-03 23:00:50 -0400 (Sun, 03 Jul 2005) New Revision: 159 Modified: trunk/src/iso.c trunk/src/raw1394.h Log: add sanity check to queuing of packets in rawiso xmit Modified: trunk/src/iso.c =================================================================== --- trunk/src/iso.c 2005-07-01 04:12:47 UTC (rev 158) +++ trunk/src/iso.c 2005-07-04 03:00:50 UTC (rev 159) @@ -269,7 +269,6 @@ return 0; } - static int _raw1394_iso_xmit_queue_packets(raw1394handle_t handle) { struct raw1394_iso_status *stat = &handle->iso_status; @@ -282,6 +281,10 @@ 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)); Modified: trunk/src/raw1394.h =================================================================== --- trunk/src/raw1394.h 2005-07-01 04:12:47 UTC (rev 158) +++ trunk/src/raw1394.h 2005-07-04 03:00:50 UTC (rev 159) @@ -1207,7 +1207,9 @@ **/ 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 @@ * 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 @@ * * 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_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_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 } |