aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Host/KeyboardHost/KeyboardHost.c
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Host/KeyboardHost/KeyboardHost.c')
-rw-r--r--Demos/Host/KeyboardHost/KeyboardHost.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Demos/Host/KeyboardHost/KeyboardHost.c b/Demos/Host/KeyboardHost/KeyboardHost.c
index fe95c3493..13aed7ec3 100644
--- a/Demos/Host/KeyboardHost/KeyboardHost.c
+++ b/Demos/Host/KeyboardHost/KeyboardHost.c
@@ -350,6 +350,9 @@ TASK(USB_Keyboard_Host)
*/
ISR(ENDPOINT_PIPE_vect, ISR_BLOCK)
{
+ /* Save previously selected pipe before selecting a new pipe */
+ uint8_t PrevSelectedPipe = Pipe_GetCurrentPipe();
+
/* Check to see if the keyboard data pipe has caused the interrupt */
if (Pipe_HasPipeInterrupted(KEYBOARD_DATAPIPE))
{
@@ -366,5 +369,8 @@ ISR(ENDPOINT_PIPE_vect, ISR_BLOCK)
/* Read and process the next report from the device */
ReadNextReport();
}
+
+ /* Restore previously selected pipe */
+ Pipe_SelectPipe(PrevSelectedPipe);
}
#endif