It is safe to move dereference below a NULL test.

Signed-off-by: zhong jiang <zhongji...@huawei.com>
---
 arch/powerpc/sysdev/xive/common.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/sysdev/xive/common.c 
b/arch/powerpc/sysdev/xive/common.c
index 959a2a6..9824074 100644
--- a/arch/powerpc/sysdev/xive/common.c
+++ b/arch/powerpc/sysdev/xive/common.c
@@ -1010,12 +1010,13 @@ static void xive_ipi_eoi(struct irq_data *d)
 {
        struct xive_cpu *xc = __this_cpu_read(xive_cpu);
 
-       DBG_VERBOSE("IPI eoi: irq=%d [0x%lx] (HW IRQ 0x%x) pending=%02x\n",
-                   d->irq, irqd_to_hwirq(d), xc->hw_ipi, xc->pending_prio);
-
        /* Handle possible race with unplug and drop stale IPIs */
        if (!xc)
                return;
+
+       DBG_VERBOSE("IPI eoi: irq=%d [0x%lx] (HW IRQ 0x%x) pending=%02x\n",
+                   d->irq, irqd_to_hwirq(d), xc->hw_ipi, xc->pending_prio);
+
        xive_do_source_eoi(xc->hw_ipi, &xc->ipi_data);
        xive_do_queue_eoi(xc);
 }
-- 
1.7.12.4

Reply via email to