Hardware interrupts and process scheduling

I'm looking for information on hardware interrupts and scheduling. The question is when a hardware interrupt occurs (not the timer) during the middle of a process's time quantum, when that interrupt returns, does it return to the process that was interrupted or does it return to the scheduler to select a new process to run?
My interpretation from Design and Implementation of.. (2nd ed) is that it returns to the interrupted process, just like any other excursion into and out of the kernel: "Execution then resumes at the next instruction in the user’s process."