@@ -408,7 +408,24 @@ static void hub_port_get_status_complete (tuh_xfer_t* xfer)
408
408
hub_port_clear_feature (daddr , port_num , HUB_FEATURE_PORT_CONNECTION_CHANGE , connection_clear_conn_change_complete , 0 );
409
409
}else
410
410
{
411
- // Other changes are: Enable, Suspend, Over Current, Reset, L1 state
411
+ // Clear other port status change interrupts. TODO Not currently handled - just cleared.
412
+ if (p_hub -> port_status .change .port_enable )
413
+ {
414
+ hub_port_clear_feature (daddr , port_num , HUB_FEATURE_PORT_ENABLE_CHANGE , hub_clear_feature_complete_stub , 0 );
415
+ }
416
+ else if (p_hub -> port_status .change .suspend )
417
+ {
418
+ hub_port_clear_feature (daddr , port_num , HUB_FEATURE_PORT_SUSPEND_CHANGE , hub_clear_feature_complete_stub , 0 );
419
+ }
420
+ else if (p_hub -> port_status .change .over_current )
421
+ {
422
+ hub_port_clear_feature (daddr , port_num , HUB_FEATURE_PORT_OVER_CURRENT_CHANGE , hub_clear_feature_complete_stub , 0 );
423
+ }
424
+ else if (p_hub -> port_status .change .reset )
425
+ {
426
+ hub_port_clear_feature (daddr , port_num , HUB_FEATURE_PORT_RESET_CHANGE , hub_clear_feature_complete_stub , 0 );
427
+ }
428
+ // Other changes are: L1 state
412
429
// TODO clear change
413
430
414
431
// prepare for next hub status
0 commit comments