diff --git a/drivers/src/wireless/cyw43439/ioctl.zig b/drivers/src/wireless/cyw43439/ioctl.zig index 911aede7d..291f0f4f6 100644 --- a/drivers/src/wireless/cyw43439/ioctl.zig +++ b/drivers/src/wireless/cyw43439/ioctl.zig @@ -183,6 +183,8 @@ pub const Response = struct { else blk: { _ = self.reader.discard(@fromBackingInt(self.padding())) catch unreachable; self.bdc_hdr = self.reader.takeStruct(BDC_Header, .little) catch unreachable; + // Skip the bdc padding too, data starts right after it. + _ = self.reader.discard(@fromBackingInt(self.bdc_hdr.?.padding())) catch 0; break :blk self.bdc_hdr.?; }; } diff --git a/drivers/src/wireless/cyw43439/wifi.zig b/drivers/src/wireless/cyw43439/wifi.zig index 01be9db48..fceccc443 100644 --- a/drivers/src/wireless/cyw43439/wifi.zig +++ b/drivers/src/wireless/cyw43439/wifi.zig @@ -761,7 +761,7 @@ pub fn send_zc(self: *Self, buffer: []u8) anyerror!void { const bytes_len = 18 + eth_frame_len; const words_len = ((bytes_len + 3) >> 2) + 1; // round and add 1 for bus command - self.bus.write(.wlan, 0, @intCast(bytes_len), as_words(writer.buffered(), words_len)); + self.bus.write(.wlan, 0, @intCast(bytes_len), as_words(buffer, words_len)); } pub fn has_credit(self: *Self) bool {