[rtems-libbsd commit] if_smc: Fix for level-triggered interrupts

Sebastian Huber sebh at rtems.org
Wed Nov 13 13:04:09 UTC 2013


Module:    rtems-libbsd
Branch:    master
Commit:    b41556e22fe77cd25bc52195152c3e54b5ad6d6e
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=b41556e22fe77cd25bc52195152c3e54b5ad6d6e

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Nov 12 13:39:12 2013 +0100

if_smc: Fix for level-triggered interrupts

---

 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 073a35c..8d3740c 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);
 }




More information about the vc mailing list