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

Reply via email to