In case of packet losses, the secondary peer do stupid
stuff. This fixes it.
Please apply ;-)
Jean
ir241_secondary_rr.diff :
-----------------------
o [CORRECT] fix the secondary function to send RR and frames without
the poll bit when it detect packet losses
diff -u -p linux/net/irda/irlap_event.d8.c linux/net/irda/irlap_event.c
--- linux/net/irda/irlap_event.d8.c Mon Dec 2 16:12:36 2002
+++ linux/net/irda/irlap_event.c Mon Dec 2 16:14:20 2002
@@ -1869,7 +1869,7 @@ static int irlap_state_nrm_s(struct irla
irlap_update_nr_received(self, info->nr);
irlap_wait_min_turn_around(self, &self->qos_tx);
- irlap_send_rr_frame(self, CMD_FRAME);
+ irlap_send_rr_frame(self, RSP_FRAME);
irlap_start_wd_timer(self, self->wd_timeout);
}
@@ -2033,18 +2033,18 @@ static int irlap_state_nrm_s(struct irla
irlap_update_nr_received(self, info->nr);
if (self->remote_busy) {
irlap_wait_min_turn_around(self, &self->qos_tx);
- irlap_send_rr_frame(self, CMD_FRAME);
+ irlap_send_rr_frame(self, RSP_FRAME);
} else
- irlap_resend_rejected_frames(self, CMD_FRAME);
+ irlap_resend_rejected_frames(self, RSP_FRAME);
irlap_start_wd_timer(self, self->wd_timeout);
break;
case RECV_SREJ_CMD:
irlap_update_nr_received(self, info->nr);
if (self->remote_busy) {
irlap_wait_min_turn_around(self, &self->qos_tx);
- irlap_send_rr_frame(self, CMD_FRAME);
+ irlap_send_rr_frame(self, RSP_FRAME);
} else
- irlap_resend_rejected_frame(self, CMD_FRAME);
+ irlap_resend_rejected_frame(self, RSP_FRAME);
irlap_start_wd_timer(self, self->wd_timeout);
break;
case WD_TIMER_EXPIRED:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/