per review

This commit is contained in:
hathach 2020-04-16 11:13:54 +07:00
parent 86ff5651ad
commit 2eed58d096
No known key found for this signature in database
GPG Key ID: 2FA891220FBFD581
2 changed files with 13 additions and 7 deletions

View File

@ -255,20 +255,26 @@ bool netd_control_request(uint8_t rhport, tusb_control_request_t const * request
switch ( request->bRequest )
{
case TUSB_REQ_GET_INTERFACE:
{
uint8_t const req_itfnum = (uint8_t) request->wIndex;
TU_VERIFY(_netd_itf.itf_num+1 == req_itfnum);
tud_control_xfer(rhport, request, &_netd_itf.itf_data_alt, 1);
}
break;
case TUSB_REQ_SET_INTERFACE:
{
uint8_t const req_itfnum = (uint8_t) request->wIndex;
uint8_t const req_alt = (uint8_t) request->wValue;
// Request to enable/disable network activities on ACM-ECM only
TU_ASSERT(_netd_itf.ecm_mode);
// Only valid for Data Interface with Alternate is either 0 or 1
TU_VERIFY(_netd_itf.itf_num+1 == req_itfnum && req_alt < 2);
// Only valid for Data Interface
TU_ASSERT(_netd_itf.itf_num+1 == req_itfnum);
// ACM-ECM only: qequest to enable/disable network activities
TU_VERIFY(_netd_itf.ecm_mode);
_netd_itf.itf_data_alt = (uint8_t) request->wValue;
_netd_itf.itf_data_alt = req_alt;
if ( _netd_itf.itf_data_alt )
{

View File

@ -575,8 +575,8 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
// notable requests are: GET HID REPORT DESCRIPTOR, SET_INTERFACE, GET_INTERFACE
if ( !invoke_class_control(rhport, drvid, p_request) )
{
// For STD GET_INTERFACE even if class driver doesn't support alternate setting
// It is still mandatory to response with value of zero
// For GET_INTERFACE, it is mandatory to respond even if the class
// driver doesn't use alternate settings.
TU_VERIFY( TUSB_REQ_TYPE_STANDARD == p_request->bmRequestType_bit.type &&
TUSB_REQ_GET_INTERFACE == p_request->bRequest);