diff --git a/keyboards/keychron/common/wireless/transport.c b/keyboards/keychron/common/wireless/transport.c index 6bbd859faa..87f87a7ba2 100644 --- a/keyboards/keychron/common/wireless/transport.c +++ b/keyboards/keychron/common/wireless/transport.c @@ -236,6 +236,11 @@ void transport_changed(transport_t new_transport) { void usb_remote_wakeup(void) { if (USB_DRIVER.state == USB_SUSPENDED) { while (USB_DRIVER.state == USB_SUSPENDED) { + wireless_pre_task(); + if (get_transport() != TRANSPORT_USB) { + suspend_wakeup_init_quantum(); + return; + } /* Do this in the suspended state */ suspend_power_down(); // on AVR this deep sleeps for 15ms /* Remote wakeup */ diff --git a/keyboards/lemokey/common/wireless/transport.c b/keyboards/lemokey/common/wireless/transport.c index 372abc8894..426cd108a5 100644 --- a/keyboards/lemokey/common/wireless/transport.c +++ b/keyboards/lemokey/common/wireless/transport.c @@ -236,6 +236,11 @@ void transport_changed(transport_t new_transport) { void usb_remote_wakeup(void) { if (USB_DRIVER.state == USB_SUSPENDED) { while (USB_DRIVER.state == USB_SUSPENDED) { + wireless_pre_task(); + if (get_transport() != TRANSPORT_USB) { + suspend_wakeup_init_quantum(); + return; + } /* Do this in the suspended state */ suspend_power_down(); // on AVR this deep sleeps for 15ms /* Remote wakeup */