General network driver suspend/resume (was e1000 carrier related)



On Wed, 8 Nov 2006 13:04:07 +0100
Pavel Machek <pavel@xxxxxx> wrote:

Hi!

This behavior differs from every other network card, and is also present
in the
7.3* version of the driver from sourceforge.

I think the e1000 should try to raise the link during the probe, so that
it
works properly, without having to set ifconfig ethX up first.

I think you should cc e1000 maintainers, and perhaps provide a patch....

I've read it and not come up with an answer due to some other issues at
hand. E1000 hardware works differently and this has been asked before, but
the cards itself are in low power state when down. Changing this to bring
up the link would make the card start to consume lots more power, which
would automatically suck enormously for anyone using a laptop.

Well, maybe E1000 should behave as the other cards behave, and
different solution needs to be found for power saving? ifconfig eth0
suspend?

Pavel



The standard which all network drivers should use is:

module insertion:
start in initial powerdown state

open:
power up, bring up link

stop:
bring down link
return to powerdown state unless WOL is set.
if doing WOL go to lowest power sensing state

suspend:
same as stop

resume:
same as open

module removal:
stop already called so device should be in power down state.


Since suspend is basically same as stop, and resume is open
I am going to investigate doing suspend/resume in the network device layer
(unless subclassed by driver), so we can rip out the suspend/resume hook
from many network drivers. There will still be boards like sky2
that need own suspend/resume to deal with dual port etc.

--
Stephen Hemminger <shemminger@xxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: General network driver suspend/resume (was e1000 carrier related)
    ... 7.3* version of the driver from sourceforge. ... the cards itself are in low power state when down. ... beware that e1000 needs to save pci msi config space on top of the normal pci config ...
    (Linux-Kernel)
  • Re: General network driver suspend/resume (was e1000 carrier related)
    ... 7.3* version of the driver from sourceforge. ... Changing this to bring up the link would make the card start to consume lots more power, which would automatically suck enormously for anyone using a laptop. ... Perhaps this needs to be fixed upstream in pci_save_state for msi devices, but the api for msi is not capable of detecting this atm. ...
    (Linux-Kernel)
  • Re: Totally broken PCI PM calls
    ... And we need partial tree suspend for that. ... cold most of the time as the system will remove power). ... driver must refuse suspend if it can't do it. ... So the driver decision of what state to enter into and how to wakeup ...
    (Linux-Kernel)
  • Re: suspend resume results os freeze
    ... I think you can use a force PCMCIA eject during the power transitions. ... Previously, I was not able to detect WLAN card after suspend resume, ... By that way I was able to reload the driver after resuming. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: pcmcia resume 60 second hang. Re: [patch 00/69] -stable review
    ... I guess we should warn the driver authors, ... Before we suspend a device, we call the subsystem that that device has ... Network drivers right now all end up doing stuff that really ...
    (Linux-Kernel)