From patchwork Wed Aug 21 21:17:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Wu X-Patchwork-Id: 268905 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 B32C82C00D4 for ; Thu, 22 Aug 2013 07:17:22 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752692Ab3HUVRS (ORCPT ); Wed, 21 Aug 2013 17:17:18 -0400 Received: from mail-we0-f182.google.com ([74.125.82.182]:39431 "EHLO mail-we0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752622Ab3HUVRS (ORCPT ); Wed, 21 Aug 2013 17:17:18 -0400 Received: by mail-we0-f182.google.com with SMTP id q59so932484wes.27 for ; Wed, 21 Aug 2013 14:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cEUL/p0Q90f4bfmJYvaFpk76abpeO4jvebp2hHgXTGI=; b=fXx92Na1DixHlrc9iZEeYabKmVrGX855P7FjIINDNlyu4rChHhaCiOR579fXqjju3m jM886WjRQJd+Aaceo2dO1wABKSO3dgp8g/yymog/AnPSGlmkTcW9PrwJbxElQB3KOgYK klXrrUv0pmaPJGoCyAL/n0tOUavwHKTJB6AT/MZnqe+vWGEe/dumUPRsrjWQVuMStrbE +ydytflAUlw8DlihwLq4pBzhbaIb/lRDXg/PGRBHOR0ocUluV8+l2KCW4zfPS5JvjqZn B8yapAEtzYpQvbhFuUp1fxp0iDf0zFkx1GmZiDwTdMCn9IR/hRfn8nGqkqhP9OLpmBRy //jA== X-Received: by 10.194.240.197 with SMTP id wc5mr7651767wjc.23.1377119836704; Wed, 21 Aug 2013 14:17:16 -0700 (PDT) Received: from localhost.localdomain (ip4da018ae.direct-adsl.nl. [77.160.24.174]) by mx.google.com with ESMTPSA id iz19sm12449006wic.9.1969.12.31.16.00.00 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 21 Aug 2013 14:17:15 -0700 (PDT) From: Peter Wu To: netdev@vger.kernel.org, David Miller Cc: nic_swsd@realtek.com, bhutchings@solarflare.com, Francois Romieu , lekensteyn@gmail.com Subject: [PATCH net-next v4] r8169: fix invalid register dump Date: Wed, 21 Aug 2013 23:17:11 +0200 Message-Id: <1377119831-29691-1-git-send-email-lekensteyn@gmail.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <20130821205325.GA24054@electric-eye.fr.zoreil.com> References: <20130821205325.GA24054@electric-eye.fr.zoreil.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org For some reason, my PCIe RTL8111E onboard NIC on a GA-Z68X-UD3H-B3 motherboard reads as FFs when reading from MMIO with a block size larger than 7. Therefore change to reading blocks of four bytes. Ben Hutchings noted that the buffer is large enough to hold all registers, so now all registers are read. Signed-off-by: Peter Wu Acked-by: Francois Romieu --- drivers/net/ethernet/realtek/r8169.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 93ee49d..c0c9e14 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -1897,9 +1897,13 @@ static void rtl8169_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p) { struct rtl8169_private *tp = netdev_priv(dev); + u32 __iomem *data = tp->mmio_addr; + u32 *dw = p; + int i; rtl_lock_work(tp); - memcpy_fromio(p, tp->mmio_addr, regs->len); + for (i = 0; i < R8169_REGS_SIZE; i += 4) + memcpy_fromio(dw++, data++, 4); rtl_unlock_work(tp); }