Remove unsetting of device_queue_item.

In case the queue-item does fit the first RX window, but not the second
one, it will be set to None. If this happens, then the
save_downlink_frame step will not add the queue-item ID to the
DownlinkFrame (internal).

Then on txack, ChirpStack is unable to dequeue the payload causing the
payload to stay in the queue.
This commit is contained in:
Orne Brocaar 2022-11-08 15:40:37 +00:00
parent e2214f9485
commit 6973e91ade

View File

@ -495,9 +495,6 @@ impl Data {
// Network-server FCnt. // Network-server FCnt.
mac_pl.fhdr.f_cnt = self.device_session.n_f_cnt_down; mac_pl.fhdr.f_cnt = self.device_session.n_f_cnt_down;
// Unset queue-item.
self.device_queue_item = None;
} else { } else {
// In this case mac-commands are sent using the FOpts field. In case there // In this case mac-commands are sent using the FOpts field. In case there
// is a device-queue item, we will validate if it still fits within the // is a device-queue item, we will validate if it still fits within the
@ -531,7 +528,6 @@ impl Data {
} else { } else {
f_pending = true; f_pending = true;
mac_pl.fhdr.f_ctrl.f_pending = true; mac_pl.fhdr.f_ctrl.f_pending = true;
self.device_queue_item = None;
} }
} }
} }