This commit is contained in:
Ross Owen
2014-09-11 12:40:12 +01:00
2 changed files with 6 additions and 1 deletions

View File

@@ -343,6 +343,11 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
/* Check the alt is in range */
if (sp.wValue <= IAP_EA_NATIVE_TRANS_ALT_COUNT)
{
/* Reset all state of endpoints associated with this interface
* when changing an alternative setting. See USB 2.0 Spec 9.1.1.5 */
XUD_ResetEpStateByAddr(ENDPOINT_ADDRESS_IN_IAP_EA_NATIVE_TRANS);
XUD_ResetEpStateByAddr(ENDPOINT_ADDRESS_OUT_IAP_EA_NATIVE_TRANS);
/* Send selected Alt interface number onto EA Native EP manager */
outuint(c_EANativeTransport_ctrl, (unsigned)sp.wValue);