diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2017-01-22 11:34:25 +0100 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2020-05-14 21:37:15 +0200 |
commit | cc66790871e56e992b186355042fc87d96ad0c23 (patch) | |
tree | 99c3a6934399b7503e06d617d555148e409da870 | |
parent | a5218fc1b71a100d37096f9cbdaabcb82106be19 (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.c | 3 |
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. */ |