@@ -475,21 +475,23 @@ fn main() -> ! {
475
475
scan_timer = timer. get_counter ( ) . ticks ( ) ;
476
476
}
477
477
478
- let _ = keyboard_hid. interface ( ) . read_report ( ) ;
478
+ if !usb_suspended {
479
+ let _ = keyboard_hid. interface ( ) . read_report ( ) ;
479
480
480
- // Setup the report for the control channel
481
- let keycodes = if let Some ( keycode) = keycode {
482
- [ keycode]
483
- } else {
484
- [ Keyboard :: NoEventIndicated ]
485
- } ;
486
- match keyboard_hid. interface ( ) . write_report ( keycodes) {
487
- Err ( UsbHidError :: WouldBlock ) | Err ( UsbHidError :: Duplicate ) | Ok ( _) => { }
488
- Err ( e) => panic ! ( "Failed to write keyboard report: {:?}" , e) ,
489
- }
490
- match keyboard_hid. interface ( ) . tick ( ) {
491
- Err ( UsbHidError :: WouldBlock ) | Ok ( _) => { }
492
- Err ( e) => panic ! ( "Failed to process keyboard tick: {:?}" , e) ,
481
+ // Setup the report for the control channel
482
+ let keycodes = if let Some ( keycode) = keycode {
483
+ [ keycode]
484
+ } else {
485
+ [ Keyboard :: NoEventIndicated ]
486
+ } ;
487
+ match keyboard_hid. interface ( ) . write_report ( keycodes) {
488
+ Err ( UsbHidError :: WouldBlock ) | Err ( UsbHidError :: Duplicate ) | Ok ( _) => { }
489
+ Err ( e) => panic ! ( "Failed to write keyboard report: {:?}" , e) ,
490
+ }
491
+ match keyboard_hid. interface ( ) . tick ( ) {
492
+ Err ( UsbHidError :: WouldBlock ) | Ok ( _) => { }
493
+ Err ( e) => panic ! ( "Failed to process keyboard tick: {:?}" , e) ,
494
+ }
493
495
}
494
496
495
497
// Wake the host.
0 commit comments