aboutsummaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c')
-rw-r--r--nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c b/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
index b1ddb5928..753f82326 100644
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
@@ -2175,6 +2175,22 @@ static int lpc17_usbinterrupt(int irq, FAR void *context)
{
usbtrace(TRACE_INTDECODE(LPC17_TRACEINTID_SUSPENDCHG),
(uint16_t)g_usbdev.devstatus);
+
+ /* Inform the Class driver of the change */
+
+ if (priv->driver)
+ {
+ if (DEVSTATUS_SUSPEND(g_usbdev.devstatus))
+ {
+ CLASS_SUSPEND(priv->driver, &priv->usbdev);
+ }
+ else
+ {
+ CLASS_RESUME(priv->driver, &priv->usbdev);
+ }
+ }
+
+ /* TODO: Perform power management operations here. */
}
/* Device reset */