forked from Imagelibrary/rtems
PR2052: LEON3: fix open_eth 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>
This commit is contained in:
committed by
Gedare Bloom
parent
e230fb44a6
commit
7afcb2619b
@@ -47,7 +47,7 @@ int rtems_leon_open_eth_driver_attach(
|
||||
{
|
||||
iobar = amba_ahb_get_membar(amba_conf.ahbslv, i, 0);
|
||||
base_addr = amba_iobar_start(LEON3_IO_AREA, iobar);
|
||||
eth_irq = amba_irq(conf) + 0x10;
|
||||
eth_irq = amba_irq(conf);
|
||||
device_found = 1;
|
||||
break;
|
||||
}
|
||||
@@ -61,14 +61,14 @@ int rtems_leon_open_eth_driver_attach(
|
||||
*(volatile int *) base_addr = 0x800;
|
||||
*(volatile int *) base_addr = 0;
|
||||
leon_open_eth_configuration.base_address = base_addr;
|
||||
leon_open_eth_configuration.vector = eth_irq;
|
||||
leon_open_eth_configuration.vector = eth_irq + 0x10;
|
||||
leon_open_eth_configuration.txd_count = TDA_COUNT;
|
||||
leon_open_eth_configuration.rxd_count = RDA_COUNT;
|
||||
/* enable 100 MHz operation only if cpu frequency >= 50 MHz */
|
||||
if (LEON3_Timer_Regs->scaler_reload >= 49) leon_open_eth_configuration.en100MHz = 1;
|
||||
if (rtems_open_eth_driver_attach( config, &leon_open_eth_configuration )) {
|
||||
LEON_Clear_interrupt(leon_open_eth_configuration.vector);
|
||||
LEON_Unmask_interrupt(leon_open_eth_configuration.vector);
|
||||
LEON_Clear_interrupt(eth_irq);
|
||||
LEON_Unmask_interrupt(eth_irq);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user