From cc66790871e56e992b186355042fc87d96ad0c23 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Sun, 22 Jan 2017 11:34:25 +0100 Subject: GRSPW_PKT: ISR activate shutdown work only if errintr enabled In shared interrupt systems it might be a problem to handle the interrupt regardless of the interrupt is enabled. Now the same approach to the DMA RX/TX interrupt in the ISR is taken. --- c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c b/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c index 3c3a81ce4e..23ccc8e3bc 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c @@ -2741,7 +2741,8 @@ STATIC void grspw_isr(void *data) if (stat & GRSPW_STS_WE) priv->stats.err_wsync++; - if ((priv->dis_link_on_err >> 16) & stat) { + if (((priv->dis_link_on_err >> 16) & stat) && + (REG_READ(&priv->regs->ctrl) & GRSPW_CTRL_IE)) { /* Disable the link, no more transfers are expected * on any DMA channel. */ -- cgit v1.2.3