diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-09-07 03:07:40 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-09-07 03:07:40 +0000 |
commit | 6e011f88d9c9fac534958ca83e3f460de7fa1497 (patch) | |
tree | b2650f6014422551fde4a469e5381de3392a9ce8 /LUFA/Drivers/USB/LowLevel/Pipe.c | |
parent | ebdb1b37ca578d0086a77b62ab9159004232c349 (diff) | |
download | lufa-6e011f88d9c9fac534958ca83e3f460de7fa1497.tar.gz lufa-6e011f88d9c9fac534958ca83e3f460de7fa1497.tar.bz2 lufa-6e011f88d9c9fac534958ca83e3f460de7fa1497.zip |
Must save and restore the endpoint/pipe interrupt enable flags during reconfiguration of all endpoints/pipes in the Endpoint_ConfigureEndpoint() and Pipe_ConfigurePipe() routines.
Diffstat (limited to 'LUFA/Drivers/USB/LowLevel/Pipe.c')
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Pipe.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c index 79c21f24e..748ed0b56 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.c +++ b/LUFA/Drivers/USB/LowLevel/Pipe.c @@ -49,6 +49,7 @@ bool Pipe_ConfigurePipe(const uint8_t Number, uint8_t UPCFG2XTemp[PIPE_TOTAL_PIPES]; uint8_t UPCONXTemp[PIPE_TOTAL_PIPES]; uint8_t UPINRQXTemp[PIPE_TOTAL_PIPES]; + uint8_t UPIENXTemp[PIPE_TOTAL_PIPES]; for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++) { @@ -58,6 +59,7 @@ bool Pipe_ConfigurePipe(const uint8_t Number, UPCFG2XTemp[PNum] = UPCFG2X; UPCONXTemp[PNum] = UPCONX; UPINRQXTemp[PNum] = UPINRQX; + UPIENXTemp[PNum] = UPIENX; } UPCFG0XTemp[Number] = ((Type << EPTYPE0) | Token | ((EndpointNumber & PIPE_EPNUM_MASK) << PEPNUM0)); @@ -65,6 +67,7 @@ bool Pipe_ConfigurePipe(const uint8_t Number, UPCFG2XTemp[Number] = 0; UPCONXTemp[Number] = (1 << INMODE); UPINRQXTemp[Number] = 0; + UPIENXTemp[Number] = 0; for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++) { @@ -88,6 +91,7 @@ bool Pipe_ConfigurePipe(const uint8_t Number, UPCFG2X = UPCFG2XTemp[PNum]; UPCONX |= UPCONXTemp[PNum]; UPINRQX = UPINRQXTemp[PNum]; + UPIENX = UPIENXTemp[PNum]; if (!(Pipe_IsConfigured())) return false; |