Skip to content

Commit 73c7117

Browse files
authored
Merge pull request #231 from LedgerHQ/y333/fix_bluetooth_spi
Increase SPI buffer size (Bluetooth issue)
2 parents 63c08b1 + 3641db6 commit 73c7117

File tree

5 files changed

+12
-12
lines changed

5 files changed

+12
-12
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ledger_device_sdk/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ledger_device_sdk"
3-
version = "1.19.1"
3+
version = "1.19.2"
44
authors = ["yhql", "yogh333", "agrojean-ledger", "kingofpayne"]
55
edition = "2021"
66
license.workspace = true

ledger_device_sdk/src/io.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ impl Comm {
174174
if !sys_seph::is_status_sent() {
175175
sys_seph::send_general_status()
176176
}
177-
let mut spi_buffer = [0u8; 128];
177+
let mut spi_buffer = [0u8; 256];
178178
while sys_seph::is_status_sent() {
179179
sys_seph::seph_recv(&mut spi_buffer, 0);
180180
seph::handle_event(&mut self.apdu_buffer, &spi_buffer);
@@ -260,7 +260,7 @@ impl Comm {
260260
T: TryFrom<ApduHeader>,
261261
Reply: From<<T as TryFrom<ApduHeader>>::Error>,
262262
{
263-
let mut spi_buffer = [0u8; 128];
263+
let mut spi_buffer = [0u8; 256];
264264

265265
unsafe {
266266
G_io_app.apdu_state = APDU_IDLE;
@@ -289,7 +289,7 @@ impl Comm {
289289
T: TryFrom<ApduHeader>,
290290
Reply: From<<T as TryFrom<ApduHeader>>::Error>,
291291
{
292-
let mut spi_buffer = [0u8; 128];
292+
let mut spi_buffer = [0u8; 256];
293293

294294
// Signal end of command stream from SE to MCU
295295
// And prepare reception
@@ -353,7 +353,7 @@ impl Comm {
353353
None
354354
}
355355

356-
pub fn process_event<T>(&mut self, spi_buffer: &mut [u8; 128]) -> Option<Event<T>>
356+
pub fn process_event<T>(&mut self, spi_buffer: &mut [u8; 256]) -> Option<Event<T>>
357357
where
358358
T: TryFrom<ApduHeader>,
359359
Reply: From<<T as TryFrom<ApduHeader>>::Error>,
@@ -422,7 +422,7 @@ impl Comm {
422422
None
423423
}
424424

425-
pub fn decode_event<T>(&mut self, spi_buffer: &mut [u8; 128]) -> Option<Event<T>>
425+
pub fn decode_event<T>(&mut self, spi_buffer: &mut [u8; 256]) -> Option<Event<T>>
426426
where
427427
T: TryFrom<ApduHeader>,
428428
Reply: From<<T as TryFrom<ApduHeader>>::Error>,
@@ -439,7 +439,7 @@ impl Comm {
439439
None
440440
}
441441

442-
fn detect_apdu<T>(&mut self, spi_buffer: &mut [u8; 128]) -> bool
442+
fn detect_apdu<T>(&mut self, spi_buffer: &mut [u8; 256]) -> bool
443443
where
444444
T: TryFrom<ApduHeader>,
445445
Reply: From<<T as TryFrom<ApduHeader>>::Error>,

ledger_device_sdk/src/seph.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
use ledger_secure_sdk_sys::*;
44

5-
#[cfg(target_os = "nanox")]
5+
#[cfg(any(target_os = "nanox", target_os = "stax", target_os = "flex"))]
66
use crate::ble;
77

88
#[repr(u8)]
@@ -198,7 +198,7 @@ pub fn handle_event(apdu_buffer: &mut [u8], spi_buffer: &[u8]) {
198198
handle_usb_ep_xfer_event(apdu_buffer, spi_buffer);
199199
}
200200
}
201-
#[cfg(target_os = "nanox")]
201+
#[cfg(any(target_os = "nanox", target_os = "stax", target_os = "flex"))]
202202
Events::BleReceive => ble::receive(apdu_buffer, spi_buffer),
203203
Events::CAPDUEvent => handle_capdu_event(apdu_buffer, spi_buffer),
204204
Events::TickerEvent => { /* unsafe{ G_io_app.ms += 100; } */ }

ledger_device_sdk/src/uxapp.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl UxEvent {
5555
if unsafe { os_sched_is_running(TASK_SUBTASKS_START as u32) }
5656
!= BOLOS_TRUE.try_into().unwrap()
5757
{
58-
let mut spi_buffer = [0u8; 128];
58+
let mut spi_buffer = [0u8; 256];
5959
sys_seph::send_general_status();
6060
sys_seph::seph_recv(&mut spi_buffer, 0);
6161
UxEvent::Event.request();
@@ -78,7 +78,7 @@ impl UxEvent {
7878
if unsafe { os_sched_is_running(TASK_SUBTASKS_START as u32) }
7979
!= BOLOS_TRUE.try_into().unwrap()
8080
{
81-
let mut spi_buffer = [0u8; 128];
81+
let mut spi_buffer = [0u8; 256];
8282
seph::send_general_status();
8383
seph::seph_recv(&mut spi_buffer, 0);
8484
event = comm.decode_event(&mut spi_buffer);

0 commit comments

Comments
 (0)