Skip to content

Commit 1dbe551

Browse files
committed
fix: dma stopped too early
1 parent 8b3a422 commit 1dbe551

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

esp-hal/src/dma/buffers.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1472,7 +1472,9 @@ unsafe impl DmaTxBuffer for DmaTxStreamBuf {
14721472
desc.next = next;
14731473
next = desc;
14741474

1475-
desc.reset_for_tx(desc.next.is_null());
1475+
desc.reset_for_tx(false);
1476+
// NOTE: Sending zeros to DMA so that DMA doesn't stop immediately.
1477+
desc.set_length(desc.size());
14761478
}
14771479
Preparation {
14781480
start: self.descriptors.as_mut_ptr(),
@@ -1570,6 +1572,7 @@ impl DmaTxStreamBufView {
15701572
let [prev, desc] = self.buf.descriptors.get_disjoint_mut([p, d]).unwrap();
15711573
desc.next = null_mut();
15721574
prev.next = desc;
1575+
prev.set_suc_eof(false);
15731576
}
15741577
}
15751578

0 commit comments

Comments
 (0)