From patchwork Sat Aug 17 09:04:23 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Wu X-Patchwork-Id: 267971 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 90A0A2C0208 for ; Sat, 17 Aug 2013 19:04:34 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752736Ab3HQJEb (ORCPT ); Sat, 17 Aug 2013 05:04:31 -0400 Received: from mail-ea0-f179.google.com ([209.85.215.179]:41425 "EHLO mail-ea0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752380Ab3HQJEa (ORCPT ); Sat, 17 Aug 2013 05:04:30 -0400 Received: by mail-ea0-f179.google.com with SMTP id b10so1410020eae.10 for ; Sat, 17 Aug 2013 02:04:28 -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; bh=6JOA0RhkRNWdmDfLg+hqtXau9fpybCTe1y1dfr0qduE=; b=NFT5gNkYbgKBSdsEJiqaiNOQEjFnOx6JN5QYjQ8umgCqjEF+oaZcDTK2bMLhj5ASUK e928vr0MdeCu0Ks0RJ6/4xFjA+BI4qaLRMxo1LJm0pcL7g4OniR3BpMXaXntKG8LPOX8 AD92AzJV7JZuDlM6jFb+RERFEMpiGpBoEmhYDksOV2Sd4BZzeGedQc8sJuZSFcKnOIdr K2FzPVJ41o6+VNu95U0LUKaNWAxYiJfh1CcW3uvHhidioyTqJqc7T2/+w27ViwScCkZm 68EfCwSK5YZ0khIaD6BJLL5ZHTZhKWaqGuFAQ2EaowDADsMS9vGsxpHfG2PSw42kN/6e 7zVw== X-Received: by 10.15.48.197 with SMTP id h45mr3959760eew.0.1376730268920; Sat, 17 Aug 2013 02:04:28 -0700 (PDT) Received: from localhost.localdomain (ip4da018ae.direct-adsl.nl. [77.160.24.174]) by mx.google.com with ESMTPSA id d8sm2310520eeh.8.1969.12.31.16.00.00 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 17 Aug 2013 02:04:27 -0700 (PDT) From: Peter Wu To: netdev@vger.kernel.org Cc: nic_swsd , Ben Hutchings , Francois Romieu , lekensteyn@gmail.com Subject: [PATCH v2] r8169: fix invalid register dump Date: Sat, 17 Aug 2013 11:04:23 +0200 Message-Id: <1376730263-9352-1-git-send-email-lekensteyn@gmail.com> X-Mailer: git-send-email 1.8.3.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Peter Wu 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. Thanks to Francois for a better implementation. Signed-off-by: Peter Wu --- 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 b5eb419..2943916 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -1897,12 +1897,16 @@ 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; if (regs->len > R8169_REGS_SIZE) regs->len = R8169_REGS_SIZE; rtl_lock_work(tp); - memcpy_fromio(p, tp->mmio_addr, regs->len); + for (i = regs->len; i > 0; i -= 4) + memcpy_fromio(dw++, data++, min(4, i)); rtl_unlock_work(tp); }