[compoenets][driver][usb] fix usbhost hid issues. (#6116)

* [compoenets][driver][usb] fix usbhost hid issues.

1.Set idle function should receive an empty package.
2.Fix uinst_t reference error in hid enable function.
This commit is contained in:
Dengguiling 2022-07-07 16:10:43 +08:00 committed by GitHub
parent a305edd4db
commit aa2d2c63f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2006-2021, RT-Thread Development Team * Copyright (c) 2006-2022, RT-Thread Development Team
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *
@ -47,8 +47,9 @@ rt_err_t rt_usbh_hid_set_idle(struct uhintf* intf, int duration, int report_id)
setup.wValue = (duration << 8 )| report_id; setup.wValue = (duration << 8 )| report_id;
if (rt_usb_hcd_setup_xfer(device->hcd, device->pipe_ep0_out, &setup, timeout) == 8) if (rt_usb_hcd_setup_xfer(device->hcd, device->pipe_ep0_out, &setup, timeout) == 8)
if (rt_usb_hcd_pipe_xfer(device->hcd, device->pipe_ep0_in, RT_NULL, 0, timeout) == 0)
return RT_EOK; return RT_EOK;
else
return -RT_FALSE; return -RT_FALSE;
} }
@ -341,7 +342,7 @@ static rt_err_t rt_usbh_hid_enable(void* arg)
if(!(ep_desc->bEndpointAddress & USB_DIR_IN)) continue; if(!(ep_desc->bEndpointAddress & USB_DIR_IN)) continue;
ret = rt_usb_hcd_alloc_pipe(intf->device->hcd, &hid->pipe_in, ret = rt_usb_hcd_alloc_pipe(intf->device->hcd, &hid->pipe_in,
intf, ep_desc); intf->device, ep_desc);
if(ret != RT_EOK) return ret; if(ret != RT_EOK) return ret;
} }