diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2012-03-29 06:52:11 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-03-29 11:17:42 -0500 |
commit | d0dbcf8a1a9ac837861c7c8b6f12b2200a061f3f (patch) | |
tree | 9f9df617b7c84d1d31e1b3fe3d3052f369dc1c60 /c/src/lib/libbsp | |
parent | GRETH: removed the use of rtems_set_clock() in auto-nego timeout (diff) | |
download | rtems-d0dbcf8a1a9ac837861c7c8b6f12b2200a061f3f.tar.bz2 |
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 <daniel@gaisler.com>
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c | 8 |
1 files 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; |