diff mbox series

[for-4.19] x86/msi: prevent watchdog triggering when dumping MSI state

Message ID 20240517135605.94781-1-roger.pau@citrix.com (mailing list archive)
State New
Headers show
Series [for-4.19] x86/msi: prevent watchdog triggering when dumping MSI state | expand

Commit Message

Roger Pau Monné May 17, 2024, 1:56 p.m. UTC
Use the same check that's used in dump_irqs().

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/msi.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Oleksii K. May 20, 2024, 7:46 a.m. UTC | #1
On Fri, 2024-05-17 at 15:56 +0200, Roger Pau Monne wrote:
> Use the same check that's used in dump_irqs().
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/arch/x86/msi.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 19830528b65a..0c97fbb3fc03 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -17,6 +17,7 @@
>  #include <xen/param.h>
>  #include <xen/pci.h>
>  #include <xen/pci_regs.h>
> +#include <xen/softirq.h>
>  #include <xen/iocap.h>
>  #include <xen/keyhandler.h>
>  #include <xen/pfn.h>
> @@ -1451,6 +1452,9 @@ static void cf_check dump_msi(unsigned char
> key)
>          unsigned long flags;
>          const char *type = "???";
>  
> +        if ( !(irq & 0x1f) )
> +            process_pending_softirqs();
> +
>          if ( !irq_desc_initialized(desc) )
>              continue;
>  

Release-acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii
Andrew Cooper May 20, 2024, 1:15 p.m. UTC | #2
On 17/05/2024 2:56 pm, Roger Pau Monne wrote:
> Use the same check that's used in dump_irqs().
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
diff mbox series

Patch

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 19830528b65a..0c97fbb3fc03 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -17,6 +17,7 @@ 
 #include <xen/param.h>
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
+#include <xen/softirq.h>
 #include <xen/iocap.h>
 #include <xen/keyhandler.h>
 #include <xen/pfn.h>
@@ -1451,6 +1452,9 @@  static void cf_check dump_msi(unsigned char key)
         unsigned long flags;
         const char *type = "???";
 
+        if ( !(irq & 0x1f) )
+            process_pending_softirqs();
+
         if ( !irq_desc_initialized(desc) )
             continue;