diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-11-12 13:39:12 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-11-13 14:10:35 +0100 |
commit | b41556e22fe77cd25bc52195152c3e54b5ad6d6e (patch) | |
tree | 7f8d68e7a89545e5422a98ea09917b4ed6037368 /freebsd/sys/dev/smc | |
parent | commands: Use REQUIRE_ORDER option processing (diff) | |
download | rtems-libbsd-b41556e22fe77cd25bc52195152c3e54b5ad6d6e.tar.bz2 |
if_smc: Fix for level-triggered interrupts
Diffstat (limited to 'freebsd/sys/dev/smc')
-rw-r--r-- | freebsd/sys/dev/smc/if_smc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/freebsd/sys/dev/smc/if_smc.c b/freebsd/sys/dev/smc/if_smc.c index 073a35c1..8d3740cc 100644 --- a/freebsd/sys/dev/smc/if_smc.c +++ b/freebsd/sys/dev/smc/if_smc.c @@ -809,6 +809,12 @@ smc_intr(void *context) struct smc_softc *sc; sc = (struct smc_softc *)context; +#ifdef __rtems__ + SMC_LOCK(sc); + smc_select_bank(sc, 2); + smc_write_1(sc, MSK, 0); + SMC_UNLOCK(sc); +#endif /* __rtems__ */ taskqueue_enqueue_fast(sc->smc_tq, &sc->smc_intr); return (FILTER_HANDLED); } |