h6. [[USBDriver]] h6(. » [[USBDriver SWI Calls|SWI Calls]] h6((. » USBDriver_ScheduleSoftInterrupt h2. USBDriver_ScheduleSoftInterrupt h5. (SWI &54A44) |_<^{width:4em}. Entry | | |<^. R0 |<^. Pointer to [[USB HC Headers|usbd_bus]] that interrupted | |_<^{width:4em}. Exit | | |<^. R0 |<^. Preserved | h4. Use The host controller calls this SWI to inform the USBDriver that an interrupt occurred on the given bus. h4. Notes The host controller's interrupt handler should determine the cause, quickly acknowledge the interrupt in the controller hardware, then call this SWI. USBDriver will subsequently call the [[USB HC Headers|soft interrupt]] entry point for that bus to decode the interrupt cause completely, such as handling error conditions or determining which transaction completed. The use of this intermediate SWI (as opposed to the HC calling itself directly) allows USBDriver to keep bus use statistics and optionally defer work to another lower-than-interrupt priority if it is likely to take a long time or the overall system is busy.