summaryrefslogtreecommitdiff
path: root/src/class/cdc
diff options
context:
space:
mode:
authorIngHK <[email protected]>2024-01-29 12:04:00 +0100
committerIngHK <[email protected]>2024-01-29 12:04:00 +0100
commit82be2477e8201fe6ea61324b8995b79d1b4cab46 (patch)
tree0cfcce0ad1bf56a6fc34484d1032137f64e9ea42 /src/class/cdc
parentbd3c4fbe1e73256be5d8553454c25e78749bc6c6 (diff)
fixed #2437
Diffstat (limited to 'src/class/cdc')
-rw-r--r--src/class/cdc/cdc_host.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/class/cdc/cdc_host.c b/src/class/cdc/cdc_host.c
index 7adaa0c8c..36b5d4234 100644
--- a/src/class/cdc/cdc_host.c
+++ b/src/class/cdc/cdc_host.c
@@ -77,6 +77,8 @@ typedef struct {
uint8_t rx_ff_buf[CFG_TUH_CDC_TX_BUFSIZE];
CFG_TUH_MEM_ALIGN uint8_t rx_ep_buf[CFG_TUH_CDC_TX_EPSIZE];
} stream;
+
+ bool configured;
} cdch_interface_t;
CFG_TUH_MEM_SECTION
@@ -257,6 +259,7 @@ static cdch_interface_t* make_new_itf(uint8_t daddr, tusb_desc_interface_t const
p_cdc->bInterfaceSubClass = itf_desc->bInterfaceSubClass;
p_cdc->bInterfaceProtocol = itf_desc->bInterfaceProtocol;
p_cdc->line_state = 0;
+ p_cdc->configured = false;
return p_cdc;
}
}
@@ -305,7 +308,8 @@ bool tuh_cdc_itf_get_info(uint8_t idx, tuh_itf_info_t* info) {
bool tuh_cdc_mounted(uint8_t idx) {
cdch_interface_t* p_cdc = get_itf(idx);
- return p_cdc != NULL;
+ TU_VERIFY(p_cdc);
+ return p_cdc->configured;
}
bool tuh_cdc_get_dtr(uint8_t idx) {
@@ -747,6 +751,7 @@ bool cdch_open(uint8_t rhport, uint8_t daddr, tusb_desc_interface_t const *itf_d
static void set_config_complete(cdch_interface_t * p_cdc, uint8_t idx, uint8_t itf_num) {
TU_LOG_DRV("CDCh Set Configure complete\r\n");
+ p_cdc->configured = true;
if (tuh_cdc_mount_cb) tuh_cdc_mount_cb(idx);
// Prepare for incoming data