From patchwork Sun Oct 9 08:49:07 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Ballarin X-Patchwork-Id: 118576 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3DD18B70CA for ; Sun, 9 Oct 2011 19:49:19 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752024Ab1JIItN (ORCPT ); Sun, 9 Oct 2011 04:49:13 -0400 Received: from mailout-de.gmx.net ([213.165.64.23]:35712 "HELO mailout-de.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1750975Ab1JIItM (ORCPT ); Sun, 9 Oct 2011 04:49:12 -0400 Received: (qmail invoked by alias); 09 Oct 2011 08:49:10 -0000 Received: from p5DD32587.dip.t-dialin.net (EHLO localhost.localdomain) [93.211.37.135] by mail.gmx.net (mp071) with SMTP; 09 Oct 2011 10:49:10 +0200 X-Authenticated: #1725425 X-Provags-ID: V01U2FsdGVkX18/MbQcHXQ/2Qu7UCWMMrI0ngKKZjlSCSbuaeulzi T7Qrr2RWmr+lZQ Date: Sun, 9 Oct 2011 10:49:07 +0200 From: Marc Ballarin To: Francois Romieu Cc: hayeswang@realtek.com, netdev@vger.kernel.org Subject: [PATCH] r8169: Fix WOL in power down case Message-Id: <20111009104907.0c6cd439900ca5eb7789295f@gmx.de> In-Reply-To: <20111007232834.GA29770@electric-eye.fr.zoreil.com> References: <20111007221906.810698ba9bf825566a2478bb@gmx.de> <20111007210017.GA27820@electric-eye.fr.zoreil.com> <20111007214200.GA28365@electric-eye.fr.zoreil.com> <20111008003156.ef4dfaa76576ca8079edfbb9@gmx.de> <20111007232834.GA29770@electric-eye.fr.zoreil.com> X-Mailer: Sylpheed 3.2.0beta3 (GTK+ 2.24.6; x86_64-redhat-linux-gnu) Mime-Version: 1.0 X-Y-GMX-Trusted: 0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 92fc43b4159b518f5baae57301f26d770b0834c9 ("r8169: modify the flow of the hw reset.") breaks WOL on some versions of the hardware. Commit 106633897e086e1b47126996aac1a427eb80eb1b ("r8169: fix WOL setting for 8105 and 8111evl") tries to fix this, but only does so in the standby case. This patch applies an analogous fix to the shutdown path. Signed-off-by: Marc Ballarin --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index c236670..a2d6e3a 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -5817,6 +5817,15 @@ static void rtl_shutdown(struct pci_dev *pdev) /* PCI commit */ RTL_R8(ChipCmd); } + /* rtl8105, rtl8111E, and rtl8111evl need the following bits + * set for WOL to work */ + if ((tp->mac_version == RTL_GIGA_MAC_VER_32 || + tp->mac_version == RTL_GIGA_MAC_VER_33 || + tp->mac_version == RTL_GIGA_MAC_VER_34) && + (__rtl8169_get_wol(tp) & WAKE_ANY)) { + RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | + AcceptMulticast | AcceptMyPhys); + } pci_wake_from_d3(pdev, true); pci_set_power_state(pdev, PCI_D3hot);