summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2017-01-22 11:34:25 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2020-05-14 21:37:15 +0200
commitcc66790871e56e992b186355042fc87d96ad0c23 (patch)
tree99c3a6934399b7503e06d617d555148e409da870
parenta5218fc1b71a100d37096f9cbdaabcb82106be19 (diff)
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.
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c3
1 files changed, 2 insertions, 1 deletions
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.
*/