From 090016a4fbfaa8fc7220aa17d7f0e8d9963523d1 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Sun, 22 Jan 2017 11:34:25 +0100 Subject: leon, 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 498333e933..d3eca270ac 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c @@ -2819,7 +2819,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