USB host CDC/ACM driver requires CONFIG_SERIAL_REMOVABLE

This commit is contained in:
Gregory Nutt 2015-05-11 15:10:41 -06:00
parent 980763be6f
commit 9df6bd0543
3 changed files with 11 additions and 1 deletions

1
TODO
View File

@ -1126,7 +1126,6 @@ o USB (drivers/usbdev, drivers/usbhost)
the RX reception logic probably should be moved to its own
dedicated thread.
Most of these problems are unique to the Olimex LPC1766STK
DCD; some are probably design problems in the CDC/ACM host
driver. The bottom line is that the host CDC/ACM driver is

View File

@ -90,6 +90,7 @@ config USBHOST_CDCACM
default n
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
select USBHOST_ASYNCH
select SERIAL_REMOVABLE
---help---
Select this option to build in host support for CDC/ACM serial
devices.

View File

@ -99,6 +99,10 @@
# warning Asynchronous transfer support is required (CONFIG_USBHOST_ASYNCH)
#endif
#ifndef CONFIG_SERIAL_REMOVABLE
# warning Removable serial device support is required (CONFIG_SERIAL_REMOVABLE)
#endif
#ifdef CONFIG_USBHOST_CDCACM_NTDELAY
# define USBHOST_CDCACM_NTDELAY MSEC2TICK(CONFIG_USBHOST_CDCACM_NTDELAY)
#else
@ -2102,6 +2106,12 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass)
flags = irqsave();
priv->disconnected = true;
/* Let the upper half driver know that serial device is no longer
* connected.
*/
uart_connected(&priv->uartdev, false);
/* Cancel any ongoing Bulk transfers */
ret = DRVR_CANCEL(hport->drvr, priv->bulkin);