|
From: Mats F. <ma...@us...> - 2001-05-18 13:58:18
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
bcsp_sequence.c 1.6 1.7=20=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Added case for handling of multiple acknowledgment packets
The diff of the modified file(s):
--- bcsp_sequence.c 2001/05/18 13:48:46 1.6
+++ bcsp_sequence.c 2001/05/18 13:58:17 1.7
@@ -46,6 +46,7 @@
#include <linux/types.h>
#include <linux/bluetooth/bcsp.h>
#include <linux/interrupt.h>
+#include <linux/timer.h>
#include <linux/bluetooth/sysdep-2.1.h>
#include <linux/bluetooth/bcsp_debug.h>
=20
@@ -195,7 +196,8 @@
=20
D(__FUNCTION__": Got rxack:%d\n", new_ack);
=20=09
- if ((rxack =3D=3D new_ack) && !(rxack =3D=3D txseq)) {
+ if (rxack =3D=3D new_ack) {
+ if (!(rxack =3D=3D txseq)) {
printk(__FUNCTION__": Got incorrect new_ack:%d, seq_nbr:%d\n", new_ack, =
txseq);
=20=09=09
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
@@ -204,6 +206,9 @@
queue_task(&resend_data_task, &tq_immediate);
mark_bh(IMMEDIATE_BH);
#endif
+ } else {
+ printk(__FUNCTION__": Got repeted ack%d\n", new_ack);
+ }
} else if (rxack < new_ack) {
D(__FUNCTION__": winspace before:%d\n", winspace);
winspace +=3D new_ack - rxack;
@@ -218,6 +223,10 @@
=20
if (winspace =3D=3D WINSIZE) {
release_resend_timer();
+ } else if (winspace > WINSIZE) {
+ printk(__FUNCTION__": Somthing has gone wrong winspace > WINSIZE\n");
+ release_resend_timer();
+ winspace =3D WINSIZE;
}
}
=20
|