|
@@ -798,16 +798,19 @@ void irlap_send_data_primary_poll(struct irlap_cb *self, struct sk_buff *skb)
|
|
self->vs = (self->vs + 1) % 8;
|
|
self->vs = (self->vs + 1) % 8;
|
|
self->ack_required = FALSE;
|
|
self->ack_required = FALSE;
|
|
|
|
|
|
|
|
+ irlap_next_state(self, LAP_NRM_P);
|
|
irlap_send_i_frame(self, tx_skb, CMD_FRAME);
|
|
irlap_send_i_frame(self, tx_skb, CMD_FRAME);
|
|
} else {
|
|
} else {
|
|
IRDA_DEBUG(4, "%s(), sending unreliable frame\n", __FUNCTION__);
|
|
IRDA_DEBUG(4, "%s(), sending unreliable frame\n", __FUNCTION__);
|
|
|
|
|
|
if (self->ack_required) {
|
|
if (self->ack_required) {
|
|
irlap_send_ui_frame(self, skb_get(skb), self->caddr, CMD_FRAME);
|
|
irlap_send_ui_frame(self, skb_get(skb), self->caddr, CMD_FRAME);
|
|
|
|
+ irlap_next_state(self, LAP_NRM_P);
|
|
irlap_send_rr_frame(self, CMD_FRAME);
|
|
irlap_send_rr_frame(self, CMD_FRAME);
|
|
self->ack_required = FALSE;
|
|
self->ack_required = FALSE;
|
|
} else {
|
|
} else {
|
|
skb->data[1] |= PF_BIT;
|
|
skb->data[1] |= PF_BIT;
|
|
|
|
+ irlap_next_state(self, LAP_NRM_P);
|
|
irlap_send_ui_frame(self, skb_get(skb), self->caddr, CMD_FRAME);
|
|
irlap_send_ui_frame(self, skb_get(skb), self->caddr, CMD_FRAME);
|
|
}
|
|
}
|
|
}
|
|
}
|