Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Feb 2009 03:53:20 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/fxp if_fxp.c if_fxpreg.h if_fxpvar.h
Message-ID:  <200902090353.n193rY57088747@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yongari     2009-02-09 03:53:20 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/dev/fxp          if_fxp.c if_fxpreg.h if_fxpvar.h 
  Log:
  SVN rev 188375 on 2009-02-09 03:53:20Z by yongari
  
  MFC r185354,185538:
   r185354:
    Add basic WOL support for 82550/82551/82558 and 82559 based
    controllers. ICH based controllers are treated as 82559. 82557,
    earlier revision of 82558 and 82559ER have no WOL capability.
     o WOL support requires help of a firmware so add check whether
       hardware is capable of handling magic frames by reading EEPROM.
     o Enable accepting WOL frames only when hardware is about to
       suspend or shutdown. Previously fxp(4) used to allow receipt of
       magic frame under normal operation mode which could cause
       hardware hang if magic frame is received by hardware. Datasheet
       clearly states driver should not allow WOL frames under normal
       operation mode.
     o Disable WOL frame reception in device attach so have fxp(4)
       immunize against system hang which can be triggered by magic
       packets when the hardware is not in fully initialized state.
     o Don't reset all hardware configuration data in fxp_stop()
       otherwise important configuration data is lost and this would
       reset WOL configuration to default state which in turn cause
       hardware hang on receipt of magic frames. To fix the issue,
       preserve hardware configuration data by issuing a selective
       reset.
     o Explicitly disable interrupts after issuing selective reset as
       reset may unmask interrupts.
  
   r185538:
    Make sure to clear PMDR register by writing back power management
    events. Just reading PMDR register was not enough to have fxp(4)
    immuninize against received magic packets during system boot.
  
  Revision    Changes    Path
  1.266.2.10  +76 -11    src/sys/dev/fxp/if_fxp.c
  1.39.10.3   +1 -0      src/sys/dev/fxp/if_fxpreg.h
  1.40.2.5    +2 -0      src/sys/dev/fxp/if_fxpvar.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902090353.n193rY57088747>