Re: [PATCH v3] usb: ohci: Prevent missed ohci interrupts

From: Gerd Hoffmann
Date: Tue Apr 30 2024 - 04:10:49 EST


On Mon, Apr 29, 2024 at 08:40:10AM GMT, Guenter Roeck wrote:
> Testing ohci functionality with qemu's pci-ohci emulation often results
> in ohci interface stalls, resulting in hung task timeouts.
>
> The problem is caused by lost interrupts between the emulation and the
> Linux kernel code. Additional interrupts raised while the ohci interrupt
> handler in Linux is running and before the handler clears the interrupt
> status are not handled. The fix for a similar problem in ehci suggests
> that the problem is likely caused by edge-triggered MSI interrupts. See
> commit 0b60557230ad ("usb: ehci: Prevent missed ehci interrupts with
> edge-triggered MSI") for details.
>
> Ensure that the ohci interrupt code handles all pending interrupts before
> returning to solve the problem.
>
> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> Cc: David Laight <David.Laight@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI devices")
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> v3: Check if any interrupts are pending before reading intrenable
> Add 'Cc: stable@xxxxxxxxxxxxxxx'
> v2: Only repeat if the interface is still active

Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>

take care,
Gerd