xive: Synchronize after disable IRQs in opal_xive_reset()

Submitted by Benjamin Herrenschmidt on April 4, 2017, 2:20 a.m.

Details

Message ID 1491272438.4166.23.camel@kernel.crashing.org
State Accepted
Headers show

Commit Message

Benjamin Herrenschmidt April 4, 2017, 2:20 a.m.
After all IRQs have been masked, sync the XIVE HW before we
start disabling all the queues.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 hw/xive.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Neuling April 19, 2017, 5:09 a.m.
This is now upstream as 30adccf43dfb6b37c7d1635512b04366d95d5456


On Tue, 2017-04-04 at 12:20 +1000, Benjamin Herrenschmidt wrote:
> After all IRQs have been masked, sync the XIVE HW before we
> start disabling all the queues.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
>  hw/xive.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/xive.c b/hw/xive.c
> index bb5f0b0..9713e8f 100644
> --- a/hw/xive.c
> +++ b/hw/xive.c
> @@ -3777,6 +3777,7 @@ static void xive_reset_one(struct xive *x)
>  				    x->int_base + i, true);
>  		i++;
>  	}
> +	xive_sync(x);
>  
>  	lock(&x->lock);
>  	memset(x->int_enabled_map, 0, BITMAP_BYTES(MAX_INT_ENTRIES));
> 
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot

Patch hide | download patch | download mbox

diff --git a/hw/xive.c b/hw/xive.c
index bb5f0b0..9713e8f 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -3777,6 +3777,7 @@  static void xive_reset_one(struct xive *x)
 				    x->int_base + i, true);
 		i++;
 	}
+	xive_sync(x);
 
 	lock(&x->lock);
 	memset(x->int_enabled_map, 0, BITMAP_BYTES(MAX_INT_ENTRIES));