-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
There is possible bug in e1000 driver from ORe package. The heart of the problem is that e1000_probe() function in /trunk/l4/pkg/ore/server/lib26/net/e1000/e1000_main.c file does NOT set 'irq' field in 'net_device' structure (e.g. with assignment netdev->irq = pdev->irq;). Instead it stores pointer to pci_device structure and uses its 'irq' field value (like this adapter->pdev->irq).
As a result ORe always outputs message like this one (because it uses netdev->irq value):
ore | Device = lo, IRQ = 0, MAC = 00:00:00:00:00:00 ore | Device = eth0, IRQ = 0, MAC = 00:30:18:49:F9:DA ore | Device = eth1, IRQ = 0, MAC = 00:30:18:49:F9:DB
And when I try to boot L4Linux with ORe stub driver, the driver fails to init device due to wrong irq number:
eth0: Overwriting IRQ type for IRQ 0 with l4ore type! eth0: request_irq(0, ...)
EBUSY is returned.
Hmm. In this case, this would be a bug in Linux' 2.6.20.19 e1000 driver. Do you know if (and how) this has been fixed in some recent version? If so, a future update will fix this bug and you should use your workaround until then.
Cheers, Bjoern