From patchwork Tue Jun 6 22:49:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Ryazanov X-Patchwork-Id: 772063 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wj6MX4P3cz9s89 for ; Wed, 7 Jun 2017 08:50:00 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="eDAdC1T/"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sYg26oMx"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=k8rTSxkZQHDaU/hBFVz0fs74CMOaX5nqIzOR+mTPF2g=; b=eDAdC1T/LFK7CHlMoBv277cqBI FWWmrAqt1gSEuIkKfWM8dThesk960ErWFU3kWFSbFpJWpz9/Jjda96gMcxgDjmEzd2p7Y57lXPJXZ rQBIKmY8W85DPIqTQPwkFmgNvCdVJmmxLFhUk3/EZk9upOF6KW5PTgBTb2QSjCfXBcWnNCSGzL762 uEeeEELw9QVaqCNUm023myFGOpewFHaNvJHPymOlwPBu9Xjs7xeOgP27ncNuGUgcGyaM+j4yN2ggk vMTCj6zw8xMCB8Tzf/9w1JwIg5UFG7w5oi6x3m4xPwXdsGRngyrE0lOWAjwgyKVWpHAKMyj9RYzvD ft0bYLNQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dINIM-0006n2-GK; Tue, 06 Jun 2017 22:49:50 +0000 Received: from mail-lf0-x241.google.com ([2a00:1450:4010:c07::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dINHi-0005vY-B4 for lede-dev@lists.infradead.org; Tue, 06 Jun 2017 22:49:13 +0000 Received: by mail-lf0-x241.google.com with SMTP id v20so9698782lfa.2 for ; Tue, 06 Jun 2017 15:48:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=ms85XnloVynkTPTYkDPBMJqpg+4NOvVK8l5l7KTPAok=; b=sYg26oMxxlMudKHwZBJA6Q4aq966a36njht7YXcH6aRCZ9mvcDcErmx0SPSNCNfwu8 1qq9cZjFoBLgCVX0LawArLwEDUfK+9JAXrGWBJFXDj9mjfh7TVUARvVu8bvV33PigDOa u48wEAblaHAjle+4jtJjuiswnAy8Eq+m8xVJyw3tW90ZNA6p7m+CR8DE7MmGRGue9cpe wbpd4ZJeQUYQ5CIqdUC8gCgU2eDFZFNBHdXd3I/+UeklsKk+iFsQjHrei5zdquJ1cepb ZxpeJVZTGR5MQllTBKLcErFMEN0Z+QfpAXEvO6DAIfix/n0f5aLxRHZNb6zyKr5N8IAU p8qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=ms85XnloVynkTPTYkDPBMJqpg+4NOvVK8l5l7KTPAok=; b=o3BhoyBOnd+o+RrebkIqHxQYHV+CUvF95O1QjWllk/x809Nr+i+pCgkF/ZxuMxzpPZ DdKDS7/iXTaGt2/jdewPFtrqbQTtRM7Dn3DWuiuAmj4yIG3xzfHUfq2KR0GajIE89Qjn 3bqVJDmJQB+WZvKJfqCZCK/NQFBKehL+q299ji2BIX9VL1ghLCdHikSDeWT02k+6DnNf GU/01mDIAh4GOaUbzmnQVU/QG5bIzM4gwFyuDcr0Knxt6g+A5FYrg9qHeD6il7+poeXW +Mt84ml4pinSzKb1N0v5GEg+BcXF45IAJi6aszSvZ27xi1E2RSByU8MAxhU3KE3/yLKz 6Ezw== X-Gm-Message-State: AODbwcBkpyvC2lf0KzmkqcaA5eNrqiFoPXJcstYlHz0oJ2HggI3PEYtu LkbVgjUuUIm9GKrk X-Received: by 10.46.77.196 with SMTP id c65mr5112090ljd.113.1496789328369; Tue, 06 Jun 2017 15:48:48 -0700 (PDT) Received: from rsa-laptop.internal.lan ([217.25.229.52]) by smtp.gmail.com with ESMTPSA id u125sm1698680lff.35.2017.06.06.15.48.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Jun 2017 15:48:47 -0700 (PDT) From: Sergey Ryazanov To: LEDE Development List Date: Wed, 7 Jun 2017 01:49:37 +0300 Message-Id: <20170606224940.22611-4-ryazanov.s.a@gmail.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170606224940.22611-1-ryazanov.s.a@gmail.com> References: <20170606224940.22611-1-ryazanov.s.a@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170606_154910_560612_672FD335 X-CRM114-Status: GOOD ( 12.80 ) X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:4010:c07:0:0:0:241 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (ryazanov.s.a[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid Subject: [LEDE-DEV] [PATCH 3/6] ath25: 4.9: fix Ethernet tiny issues X-BeenThere: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "Lede-dev" Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Few tiny fixes for issues caused by changes in the upstream: - do not touch PHY IRQ array (core code initializes it itself now) - add missed SET_NETDEV_DEV() invocation (causes segfault during phy connection) - use phy API inside the MDIO probe function instead of direct field access (consider phy structure changes in upstream and prevent similar issues in the future) Signed-off-by: Sergey Ryazanov --- .../ath25/patches-4.9/110-ar2313_ethernet.patch | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch b/target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch index 9b1286c..ed3dcb4 100644 --- a/target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch +++ b/target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch @@ -33,7 +33,7 @@ +obj-$(CONFIG_NET_AR231X) += ar231x.o --- /dev/null +++ b/drivers/net/ethernet/atheros/ar231x/ar231x.c -@@ -0,0 +1,1206 @@ +@@ -0,0 +1,1198 @@ +/* + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device. + * @@ -221,6 +221,8 @@ + + platform_set_drvdata(pdev, dev); + ++ SET_NETDEV_DEV(dev, &pdev->dev); ++ + sp = netdev_priv(dev); + sp->dev = dev; + sp->cfg = pdev->dev.platform_data; @@ -304,8 +306,6 @@ + sp->mii_bus->reset = ar231x_mdiobus_reset; + sp->mii_bus->name = "ar231x_eth_mii"; + snprintf(sp->mii_bus->id, MII_BUS_ID_SIZE, "%d", pdev->id); -+ sp->mii_bus->irq = kmalloc(sizeof(int), GFP_KERNEL); -+ *sp->mii_bus->irq = PHY_POLL; + + mdiobus_register(sp->mii_bus); + @@ -1192,28 +1192,19 @@ +{ + struct ar231x_private *const sp = netdev_priv(dev); + struct phy_device *phydev = NULL; -+ int phy_addr; + + /* find the first (lowest address) PHY on the current MAC's MII bus */ -+ for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) -+ if (sp->mii_bus->phy_map[phy_addr]) { -+ phydev = sp->mii_bus->phy_map[phy_addr]; -+ sp->phy = phy_addr; -+ break; /* break out with first one found */ -+ } -+ ++ phydev = phy_find_first(sp->mii_bus); + if (!phydev) { + printk(KERN_ERR "ar231x: %s: no PHY found\n", dev->name); + return -1; + } + + /* now we are supposed to have a proper phydev, to attach to... */ -+ BUG_ON(!phydev); + BUG_ON(phydev->attached_dev); + -+ phydev = phy_connect(dev, dev_name(&phydev->dev), &ar231x_adjust_link, ++ phydev = phy_connect(dev, phydev_name(phydev), &ar231x_adjust_link, + PHY_INTERFACE_MODE_MII); -+ + if (IS_ERR(phydev)) { + printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); + return PTR_ERR(phydev); @@ -1233,9 +1224,10 @@ + + sp->oldduplex = -1; + sp->phy_dev = phydev; ++ sp->phy = phydev->mdio.addr; + + printk(KERN_INFO "%s: attached PHY driver [%s] (mii_bus:phy_addr=%s)\n", -+ dev->name, phydev->drv->name, dev_name(&phydev->dev)); ++ dev->name, phydev->drv->name, phydev_name(phydev)); + + return 0; +}