Message ID | 1377119831-29691-1-git-send-email-lekensteyn@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Peter Wu <lekensteyn@gmail.com> Date: Wed, 21 Aug 2013 23:17:11 +0200 > 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 <lekensteyn@gmail.com> > Acked-by: Francois Romieu <romieu@fr.zoreil.com> Applied, thanks. -- 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/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); }