From owner-cvs-src-old@FreeBSD.ORG Mon Feb 9 03:53:34 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA59210657B3 for ; Mon, 9 Feb 2009 03:53:34 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9CE048FC0A for ; Mon, 9 Feb 2009 03:53:34 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n193rYLg088748 for ; Mon, 9 Feb 2009 03:53:34 GMT (envelope-from yongari@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n193rY57088747 for cvs-src-old@freebsd.org; Mon, 9 Feb 2009 03:53:34 GMT (envelope-from yongari@repoman.freebsd.org) Message-Id: <200902090353.n193rY57088747@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to yongari@repoman.freebsd.org using -f From: Pyun YongHyeon Date: Mon, 9 Feb 2009 03:53:20 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpreg.h if_fxpvar.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Feb 2009 03:53:35 -0000 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