[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

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
*
@ -47,9 +47,10 @@ rt_err_t rt_usbh_hid_set_idle(struct uhintf* intf, int duration, int report_id)
setup.wValue = (duration << 8 )| report_id;
if (rt_usb_hcd_setup_xfer(device->hcd, device->pipe_ep0_out, &setup, timeout) == 8)
return RT_EOK;
else
return -RT_FALSE;
if (rt_usb_hcd_pipe_xfer(device->hcd, device->pipe_ep0_in, RT_NULL, 0, timeout) == 0)
return RT_EOK;
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;
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;
}