aboutsummaryrefslogtreecommitdiff
path: root/cyw43
diff options
context:
space:
mode:
authorDafabHoid <[email protected]>2024-02-16 00:30:24 +0100
committerDafabHoid <[email protected]>2024-02-16 00:33:23 +0100
commita75007f5ccff25e5bc3afcc806ceb197f61be0bf (patch)
treeff6253eb2379bdf9c4507eed953db000147f4056 /cyw43
parent5220453d85b1e0f279e94dc1627b7d2434132920 (diff)
cyw43: Reuse buf to reduce stack usage
Diffstat (limited to 'cyw43')
-rw-r--r--cyw43/src/runner.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/cyw43/src/runner.rs b/cyw43/src/runner.rs
index b2a9e3e80..c72cf0def 100644
--- a/cyw43/src/runner.rs
+++ b/cyw43/src/runner.rs
@@ -242,13 +242,12 @@ where
242 cmd, 242 cmd,
243 iface, 243 iface,
244 }) => { 244 }) => {
245 self.send_ioctl(kind, cmd, iface, unsafe { &*iobuf }).await; 245 self.send_ioctl(kind, cmd, iface, unsafe { &*iobuf }, &mut buf).await;
246 self.check_status(&mut buf).await; 246 self.check_status(&mut buf).await;
247 } 247 }
248 Either3::Second(packet) => { 248 Either3::Second(packet) => {
249 trace!("tx pkt {:02x}", Bytes(&packet[..packet.len().min(48)])); 249 trace!("tx pkt {:02x}", Bytes(&packet[..packet.len().min(48)]));
250 250
251 let mut buf = [0; 512];
252 let buf8 = slice8_mut(&mut buf); 251 let buf8 = slice8_mut(&mut buf);
253 252
254 // There MUST be 2 bytes of padding between the SDPCM and BDC headers. 253 // There MUST be 2 bytes of padding between the SDPCM and BDC headers.
@@ -480,9 +479,8 @@ where
480 self.sdpcm_seq != self.sdpcm_seq_max && self.sdpcm_seq_max.wrapping_sub(self.sdpcm_seq) & 0x80 == 0 479 self.sdpcm_seq != self.sdpcm_seq_max && self.sdpcm_seq_max.wrapping_sub(self.sdpcm_seq) & 0x80 == 0
481 } 480 }
482 481
483 async fn send_ioctl(&mut self, kind: IoctlType, cmd: u32, iface: u32, data: &[u8]) { 482 async fn send_ioctl(&mut self, kind: IoctlType, cmd: u32, iface: u32, data: &[u8], buf: &mut [u32; 512]) {
484 let mut buf = [0; 512]; 483 let buf8 = slice8_mut(buf);
485 let buf8 = slice8_mut(&mut buf);
486 484
487 let total_len = SdpcmHeader::SIZE + CdcHeader::SIZE + data.len(); 485 let total_len = SdpcmHeader::SIZE + CdcHeader::SIZE + data.len();
488 486