From 0cd802faf1c7ab3f2ae237a91aabbd8a79cea831 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Fri, 8 May 2015 09:24:11 +0000 Subject: Improvement to serial_usb driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7955 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/src/serial_usb.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'os/hal/src') diff --git a/os/hal/src/serial_usb.c b/os/hal/src/serial_usb.c index f5392bdf6..dc0e803a8 100644 --- a/os/hal/src/serial_usb.c +++ b/os/hal/src/serial_usb.c @@ -218,7 +218,9 @@ void sduStart(SerialUSBDriver *sdup, const SerialUSBConfig *config) { "invalid state"); usbp->in_params[config->bulk_in - 1U] = sdup; usbp->out_params[config->bulk_out - 1U] = sdup; - usbp->in_params[config->int_in - 1U] = sdup; + if (config->int_in > 0U) { + usbp->in_params[config->int_in - 1U] = sdup; + } sdup->config = config; sdup->state = SDU_READY; osalSysUnlock(); @@ -245,7 +247,9 @@ void sduStop(SerialUSBDriver *sdup) { /* Driver in stopped state.*/ usbp->in_params[sdup->config->bulk_in - 1U] = NULL; usbp->out_params[sdup->config->bulk_out - 1U] = NULL; - usbp->in_params[sdup->config->int_in - 1U] = NULL; + if (sdup->config->int_in > 0U) { + usbp->in_params[sdup->config->int_in - 1U] = NULL; + } sdup->state = SDU_STOP; /* Queues reset in order to signal the driver stop to the application.*/ -- cgit v1.2.3