3c509 resume from hibernation broken somewhere between 2.6.25 and 2.6.28

3 messages, 2 authors, 2009-02-08 · open the first message on its own page

3c509 resume from hibernation broken somewhere between 2.6.25 and 2.6.28

From: Ondrej Zary <hidden>
Date: 2009-02-06 13:22:31

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.
--- linux-2.6.28-orig/drivers/net/3c509.c	2009-01-02 17:19:07.000000000 +0100
+++ linux/drivers/net/3c509.c	2009-02-05 22:36:20.000000000 +0100
@@ -1477,6 +1477,7 @@
 	spin_lock_irqsave(&lp->lock, flags);
 
 	outw(PowerUp, ioaddr + EL3_CMD);
+	EL3WINDOW(0);
 	el3_up(dev);
 
 	if (netif_running(dev))
-- 
Ondrej Zary

Re: 3c509 resume from hibernation broken somewhere between 2.6.25 and 2.6.28

From: David Miller <davem@davemloft.net>
Date: 2009-02-07 06:04:41

From: Ondrej Zary <redacted>
Date: Fri, 6 Feb 2009 14:22:13 +0100
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.
Patch applied, thank you.

Let us know if you figure out how to get the ISA case working
too :-)

Re: 3c509 resume from hibernation broken somewhere between 2.6.25 and 2.6.28

From: Ondrej Zary <hidden>
Date: 2009-02-08 20:08:57

On Saturday 07 February 2009 07:04:26 David Miller wrote:
From: Ondrej Zary <redacted>
Date: Fri, 6 Feb 2009 14:22:13 +0100
quoted
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.
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.

-- 
Ondrej Zary
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help