From patchwork Mon May 3 20:01:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Korsgaard X-Patchwork-Id: 51525 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 E4691B7D20 for ; Tue, 4 May 2010 06:01:44 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756613Ab0ECUBk (ORCPT ); Mon, 3 May 2010 16:01:40 -0400 Received: from ey-out-2122.google.com ([74.125.78.27]:33597 "EHLO ey-out-2122.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756410Ab0ECUBj (ORCPT ); Mon, 3 May 2010 16:01:39 -0400 Received: by ey-out-2122.google.com with SMTP id d26so170210eyd.19 for ; Mon, 03 May 2010 13:01:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:received:from:to:cc :subject:date:message-id:x-mailer; bh=tvQ6iqDXmTYfPklfW4oSlag4KxB1CFSmcjNIoY5VBUM=; b=it/D2Jfwi5aaZ6IthkeCu5SeZw/fmI/oEjkCqlX1DuwsLus8GUxJn41q07zieRCuWF T3JYdlC5fgL87ldc/2P3WG8aXh7j5f0zGc7tz3Iv4gT7UqeCys3yi9/GcumWqA6zl6fO /7pck1TycYW15TBjtAe6nYxilBIP1LJar9hVA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:date:message-id:x-mailer; b=S00hoQq4Z0JDg/Fz7+jVQyg8XjnFYyDfA+FO5UvN1iJA0tTOCcdWmD8dZbUeoMqCu/ dONmdXUPGlobESxVQ5nbC92+ArStYks04DVE/UYzrrP/gecJdTBSbEsOZowvTf7j+Bu6 y2i/StZt/ZTXn83I5MrpYKfpkKLFNCrU4Hm84= Received: by 10.216.89.195 with SMTP id c45mr4201459wef.98.1272916897361; Mon, 03 May 2010 13:01:37 -0700 (PDT) Received: from macbook.be.48ers.dk (ip-213-49-113-187.dsl.scarlet.be [213.49.113.187]) by mx.google.com with ESMTPS id k83sm1794105wej.0.2010.05.03.13.01.35 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 03 May 2010 13:01:35 -0700 (PDT) Received: by macbook.be.48ers.dk (Postfix, from userid 1000) id A3B249AC05; Mon, 3 May 2010 22:01:34 +0200 (CEST) From: Peter Korsgaard To: davem@davemloft.net, netdev@vger.kernel.org, michael.planes@free.fr Cc: Peter Korsgaard , stable@kernel.org Subject: [PATCH] dm9601: fix phy/eeprom write routine Date: Mon, 3 May 2010 22:01:26 +0200 Message-Id: <1272916886-8841-1-git-send-email-jacmet@sunsite.dk> X-Mailer: git-send-email 1.7.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use correct bit positions in DM_SHARED_CTRL register for writes. Michael Planes recently encountered a 'KY-RS9600 USB-LAN converter', which came with a driver CD containing a Linux driver. This driver turns out to be a copy of dm9601.c with symbols renamed and my copyright stripped. That aside, it did contain 1 functional change in dm_write_shared_word(), and after checking the datasheet the original value was indeed wrong (read versus write bits). On Michaels HW, this change bumps receive speed from ~30KB/s to ~900KB/s. On other devices the difference is less spectacular, but still significant (~30%). Reported-by: Michael Planes CC: stable@kernel.org Signed-off-by: Peter Korsgaard --- drivers/net/usb/dm9601.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c index 04b2810..5dfed92 100644 --- a/drivers/net/usb/dm9601.c +++ b/drivers/net/usb/dm9601.c @@ -240,7 +240,7 @@ static int dm_write_shared_word(struct usbnet *dev, int phy, u8 reg, __le16 valu goto out; dm_write_reg(dev, DM_SHARED_ADDR, phy ? (reg | 0x40) : reg); - dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0x1c : 0x14); + dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0x1a : 0x12); for (i = 0; i < DM_TIMEOUT; i++) { u8 tmp;