mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
Merge branch 'fix/usb-host-device-close-err-give-semaphore_v5.4' into 'release/v5.4'
fix(usb_host): Give semaphore on attempted close of non-opened device (backport v5.4) See merge request espressif/esp-idf!38151
This commit is contained in:
@ -323,9 +323,8 @@ esp_err_t usb_host_device_open(usb_host_client_handle_t client_hdl, uint8_t dev_
|
||||
* @return
|
||||
* - ESP_OK: Device closed successfully
|
||||
* - ESP_ERR_INVALID_ARG: Invalid argument
|
||||
* - ESP_ERR_NOT_FOUND: Device address not found among opened devices
|
||||
* - ESP_ERR_INVALID_STATE: The client never opened the device, or the client has not released
|
||||
* all the interfaces from the device
|
||||
* - ESP_ERR_NOT_FOUND: The client never opened the device (the device address not found among opened devices)
|
||||
* - ESP_ERR_INVALID_STATE: The client has not released all interfaces from the device
|
||||
*/
|
||||
esp_err_t usb_host_device_close(usb_host_client_handle_t client_hdl, usb_device_handle_t dev_hdl);
|
||||
|
||||
|
@ -1012,10 +1012,9 @@ esp_err_t usb_host_device_close(usb_host_client_handle_t client_hdl, usb_device_
|
||||
HOST_ENTER_CRITICAL();
|
||||
uint8_t dev_addr;
|
||||
ESP_ERROR_CHECK(usbh_dev_get_addr(dev_hdl, &dev_addr));
|
||||
HOST_CHECK_FROM_CRIT(_check_client_opened_device(client_obj, dev_addr), ESP_ERR_NOT_FOUND);
|
||||
if (!_check_client_opened_device(client_obj, dev_addr)) {
|
||||
// Client never opened this device
|
||||
ret = ESP_ERR_INVALID_STATE;
|
||||
ret = ESP_ERR_NOT_FOUND;
|
||||
HOST_EXIT_CRITICAL();
|
||||
goto exit;
|
||||
}
|
||||
|
Reference in New Issue
Block a user