3c509 resume from hibernation broken somewhere between 2.6.25 and 2.6.28
Subsystems (2)
Hello,
last year, I posted a patch which fixed hibernation on 3c509 cards. That was back in 2.6.24. It worked fine in 2.6.25. But then I stopped using hibernation (as it did not work with my new IT8212 RAID controller).
Now I fixed it and noticed that 3c509 does not wake up properly anymore (in 2.6.28) - neither in PnP nor in ISA modes. ifconfig down/up makes the card work again in PnP mode. However, in ISA mode, ifconfig up ends with "No such device" error.
Comparing the 3c509 driver between 2.6.25 and 2.6.28, there's only some statistics-related change. So the cause of the problem must be somewhere else.
This patch makes the resume work in PnP mode, but it's still not enough for ISA mode.
drivers/net/3c509.c +1 -0
@@ -1477,6 +1477,7 @@spin_lock_irqsave (&lp->lock, flags);outw (PowerUp, ioaddr +EL3_CMD ); +EL3WINDOW (0 );el3_up (dev);if (netif_running (dev))
Signature · 1 line
Ondrej Zary
David Miller
maintainerFrom: Ondrej Zary <[email protected]>
Date: Fri, 6 Feb 2009 14:22:13 +0100
Quoted 10 lines
Hello,
last year, I posted a patch which fixed hibernation on 3c509 cards. That was back in 2.6.24. It worked fine in 2.6.25. But then I stopped using hibernation (as it did not work with my new IT8212 RAID controller).Now I fixed it and noticed that 3c509 does not wake up properly anymore (in 2.6.28) - neither in PnP nor in ISA modes. ifconfig down/up makes the card work again in PnP mode. However, in ISA mode, ifconfig up ends with "No such device" error.
Quoted 6 lines
Comparing the 3c509 driver between 2.6.25 and 2.6.28, there's only some statistics-related change. So the cause of the problem must be somewhere else.
This patch makes the resume work in PnP mode, but it's still not enough for ISA mode.
Patch applied, thank you.
Let us know if you figure out how to get the ISA case working too :-)
Quoted 17 lines · On Saturday 07 February 2009 07:04:26 David Miller wrote:
From: Ondrej Zary <[email protected]>
Date: Fri, 6 Feb 2009 14:22:13 +0100Quoted 14 lines
Hello,
last year, I posted a patch which fixed hibernation on 3c509 cards. That was back in 2.6.24. It worked fine in 2.6.25. But then I stopped using hibernation (as it did not work with my new IT8212 RAID controller).Now I fixed it and noticed that 3c509 does not wake up properly anymore (in 2.6.28) - neither in PnP nor in ISA modes. ifconfig down/up makes the card work again in PnP mode. However, in ISA mode, ifconfig up ends with "No such device" error.
Comparing the 3c509 driver between 2.6.25 and 2.6.28, there's only some statistics-related change. So the cause of the problem must be somewhere else.
Quoted 7 lines
Quoted 2 lines
This patch makes the resume work in PnP mode, but it's still not enough for ISA mode.
Patch applied, thank you.
Let us know if you figure out how to get the ISA case working too :-)
Found that when the driver is compiled as module, ISA resume works fine. But when the driver is compiled in the kernel, it does not work. I'm unable to find why.
When resuming, el3_isa_resume() is called first. It then calls el3_isa_id_sequence(). This function fails when the driver is compiled-in because id_read_eeprom(7) returns 0xFFFF - as if the card is not present there. I'm out of ideas.
Signature · 1 line
Ondrej Zary