From d0dbcf8a1a9ac837861c7c8b6f12b2200a061f3f Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Thu, 29 Mar 2012 06:52:11 -0500 Subject: LEON3: fix GRETH interrupt initialization bug Fixed a bug where the vector number is used to clean and unmask the IRQ at the IRQ controller, the irq number must be used. Signed-off-by: Daniel Hellstrom --- c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c b/c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c index 341bd2792e..dd301d7737 100644 --- a/c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c +++ b/c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c @@ -41,19 +41,19 @@ int rtems_leon_greth_driver_attach( if (device_found == 1) { base_addr = apbgreth.start; - eth_irq = apbgreth.irq + 0x10; + eth_irq = apbgreth.irq; /* clear control register and reset NIC */ *(volatile int *) base_addr = 0; *(volatile int *) base_addr = GRETH_CTRL_RST; *(volatile int *) base_addr = 0; leon_greth_configuration.base_address = base_addr; - leon_greth_configuration.vector = eth_irq; + leon_greth_configuration.vector = eth_irq + 0x10; leon_greth_configuration.txd_count = TDA_COUNT; leon_greth_configuration.rxd_count = RDA_COUNT; if (rtems_greth_driver_attach( config, &leon_greth_configuration )) { - LEON_Clear_interrupt(leon_greth_configuration.vector); - LEON_Unmask_interrupt(leon_greth_configuration.vector); + LEON_Clear_interrupt(eth_irq); + LEON_Unmask_interrupt(eth_irq); } } return 0; -- cgit v1.2.3