Possible bug in e1000 driver from ORe package

Björn Döbel doebel at os.inf.tu-dresden.de
Tue Mar 3 17:05:34 CET 2009


-----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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmtVUsACgkQP5ijxgQLUNlM6gCfSvpbs034j27sySLk1AmjD79s
BWUAniw4mFZkwaXUkTithMNi1xvYdhja
=8CDO
-----END PGP SIGNATURE-----




More information about the l4-hackers mailing list