On Thu, 29 Feb 2024 at 20:44, Sven Schnelle <sv...@stackframe.org> wrote: > > HP-UX 10.20 seems to make the lsi53c895a spinning on a memory location > under certain circumstances. As the SCSI controller and CPU are not > running at the same time this loop will never finish. After some > time, the check loop interrupts with a unexpected device disconnect. > This works, but is slow because the kernel resets the scsi controller. > Instead of signaling UDC, start a timer and exit the loop. Until the > timer fires, the CPU can process instructions which might changes the > memory location. > > The limit of instructions is also reduced because scripts running on > the SCSI processor are usually very short. This keeps the time until > the loop is exit short.
"exited" > > Suggested-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Sven Schnelle <sv...@stackframe.org> > --- > Changes in v2: > - update comment in lsi_execute_script() > - reset waiting state and del timer in lsi_execute_script() to > handle the case where script processing is triggered via > register write, and not from the pending timer > - delete timer in lsi_scsi_exit() Other than the s/host/guest/ comment fix, Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> I don't suppose anybody has a setup with the Windows drivers to test this on? (commit ee4d919f30f13 suggests that at least Windows XP and 2003 had this problem.) thanks -- PMM