From patchwork Tue Mar 24 13:54:15 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Karsten Wiese X-Patchwork-Id: 24971 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.176.167]) by ozlabs.org (Postfix) with ESMTP id 60DEADDF61 for ; Wed, 25 Mar 2009 00:54:29 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753856AbZCXNyX (ORCPT ); Tue, 24 Mar 2009 09:54:23 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753810AbZCXNyX (ORCPT ); Tue, 24 Mar 2009 09:54:23 -0400 Received: from mout4.freenet.de ([195.4.92.94]:39200 "EHLO mout4.freenet.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753739AbZCXNyW convert rfc822-to-8bit (ORCPT ); Tue, 24 Mar 2009 09:54:22 -0400 Received: from [195.4.92.12] (helo=2.mx.freenet.de) by mout4.freenet.de with esmtpa (ID fzu@wemgehoertderstaat.de) (port 25) (Exim 4.69 #76) id 1Lm758-0000yj-CU; Tue, 24 Mar 2009 14:54:18 +0100 Received: from p54901323.dip0.t-ipconnect.de ([84.144.19.35]:65024 helo=a64.localdomain) by 2.mx.freenet.de with esmtpa (ID fzu@wemgehoertderstaat.de) (port 25) (Exim 4.69 #79) id 1Lm758-0006do-3s; Tue, 24 Mar 2009 14:54:18 +0100 From: Karsten Wiese To: Francois Romieu Subject: Re: [PATCH] r8169: Fix irq masking in rtl8169_interrupt() Date: Tue, 24 Mar 2009 14:54:15 +0100 User-Agent: KMail/1.11.1 (Linux/2.6.29-rc8; KDE/4.2.1; x86_64; ; ) Cc: netdev@vger.kernel.org, Rafael Wysocki References: <200903172034.55241.fzu@wemgehoertderstaat.de> <20090323224222.GA18951@electric-eye.fr.zoreil.com> <200903240138.32805.fzu@wemgehoertderstaat.de> In-Reply-To: <200903240138.32805.fzu@wemgehoertderstaat.de> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200903241454.15853.fzu@wemgehoertderstaat.de> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Am Dienstag 24 März 2009 schrieb Karsten Wiese: > Am Montag 23 März 2009 schrieb Francois Romieu: > > > > Does the patch below make a difference ? > > No. patch below helps. Thanks, Karsten ---------------------> [PATCH] r8169: Reset IntrStatus after chip rest On a MSI MS-6702E mainboard, when in rtl8169_init_one() for the first time after BIOS has run, IntrStatus reads 5 after chip has been reset. IntrStatus should equal 0 there, so patch changes IntrStatus reset to happen after chip reset instead of before. R8169_MSG_DEFAULT is changed to include NETIF_MSG_INTR, because without an important error message from rtl8169_interrupt() isn't shown by default. Signed-off-by: Karsten Wiese --- drivers/net/r8169.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 56a1eb8..b06e153 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -45,8 +45,9 @@ #define dprintk(fmt, args...) do {} while (0) #endif /* RTL8169_DEBUG */ -#define R8169_MSG_DEFAULT \ - (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_IFUP | NETIF_MSG_IFDOWN) +#define R8169_MSG_DEFAULT \ + (NETIF_MSG_DRV | NETIF_MSG_PROBE | \ + NETIF_MSG_IFUP | NETIF_MSG_IFDOWN | NETIF_MSG_INTR) #define TX_BUFFS_AVAIL(tp) \ (tp->dirty_tx + NUM_TX_DESC - tp->cur_tx - 1) @@ -2076,7 +2077,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) dev_info(&pdev->dev, "no PCI Express capability\n"); /* Unneeded ? Don't mess with Mrs. Murphy. */ - rtl8169_irq_mask_and_ack(ioaddr); + RTL_W16(IntrMask, 0x0000); /* Soft reset the chip. */ RTL_W8(ChipCmd, CmdReset); @@ -2088,6 +2089,11 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) msleep_interruptible(1); } + /* On an MSI MS-6702E, when here for the first time after + BIOS has run, IntrStatus contains 5. Play safe. + */ + RTL_W16(IntrStatus, 0xffff); + /* Identify chip attached to board */ rtl8169_get_mac_version(tp, ioaddr);