diff options
| author | Ha Thach <[email protected]> | 2020-01-05 17:48:55 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-01-05 17:48:55 +0700 |
| commit | d6a8d42bd6ed5ee1d9ea2e58128a3903dcd88d79 (patch) | |
| tree | 3f253bde73d8093807a71f7e8728152ca42b0da2 /src/device/usbd.c | |
| parent | 97c216bc040a8cde289382d5caff9a8a5e2cbdb5 (diff) | |
| parent | e7bf66b29e00e725d80ea3bab5a747a2e7b23bfa (diff) | |
Merge pull request #254 from majbthrd/multi-setconfig
gracefully handle multiple SET_CONFIGURATION requests
Diffstat (limited to 'src/device/usbd.c')
| -rw-r--r-- | src/device/usbd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c index b63d42021..fcc623d33 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -519,9 +519,11 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const uint8_t const cfg_num = (uint8_t) p_request->wValue;
dcd_set_config(rhport, cfg_num);
+
+ if ( !_usbd_dev.configured && cfg_num ) TU_ASSERT( process_set_config(rhport, cfg_num) );
+
_usbd_dev.configured = cfg_num ? 1 : 0;
- if ( cfg_num ) TU_ASSERT( process_set_config(rhport, cfg_num) );
tud_control_status(rhport, p_request);
}
break;
|
